diff --git a/.github/workflows/release-osprey-rpc.yml b/.github/workflows/release-osprey-rpc.yml index cf4e2bb..34d9ee6 100644 --- a/.github/workflows/release-osprey-rpc.yml +++ b/.github/workflows/release-osprey-rpc.yml @@ -7,6 +7,8 @@ on: jobs: build-osprey-rpc: runs-on: ubuntu-24.04 + permissions: + contents: write steps: - name: Checkout code uses: actions/checkout@v4 @@ -22,11 +24,22 @@ jobs: version: "latest" - name: Build osprey-rpc sdist + working-directory: osprey_rpc + run: uv build --sdist + + - name: Create zip from sdist + working-directory: osprey_rpc/dist run: | - cd osprey_rpc - uv build --sdist + tar -xzf osprey_rpc-*.tar.gz + SDIST_DIR=$(ls -d osprey_rpc-*/) + SDIST_DIR=${SDIST_DIR%/} + zip -r "${SDIST_DIR}.zip" "${SDIST_DIR}" + rm -rf "${SDIST_DIR}" + ls -la - name: Upload osprey-rpc to release uses: softprops/action-gh-release@v2 with: - files: osprey_rpc/dist/osprey_rpc-*.tar.gz + files: | + osprey_rpc/dist/osprey_rpc-*.tar.gz + osprey_rpc/dist/osprey_rpc-*.zip diff --git a/gen-protos.sh b/gen-protos.sh index f19d3d9..3a41801 100755 --- a/gen-protos.sh +++ b/gen-protos.sh @@ -11,6 +11,6 @@ shopt -s globstar 2>/dev/null || true # change to directory of script cd "$(dirname "$0")" -glob=(./proto/**/*.proto) +glob=(./proto/osprey/**/*.proto) # Generate protobuf files uv run -m grpc_tools.protoc --proto_path=proto --python_out=osprey_rpc/src --mypy_out=osprey_rpc/src --grpc_python_out=osprey_rpc/src "${glob[@]}" diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.py new file mode 100644 index 0000000..106e01c --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/action.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from osprey.rpc.actions.v1 import action_types_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_action__types__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"osprey/rpc/actions/v1/action.proto\x12\x15osprey.rpc.actions.v1\x1a(osprey/rpc/actions/v1/action_types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc1\x07\n\x06\x41\x63tion\x12\n\n\x02id\x18\x01 \x01(\x06\x12I\n\x14\x61uth_session_created\x18\x02 \x01(\x0b\x32).osprey.rpc.actions.v1.AuthSessionCreatedH\x00\x12K\n\x15\x61uth_session_modified\x18\x03 \x01(\x0b\x32*.osprey.rpc.actions.v1.AuthSessionModifiedH\x00\x12Z\n\x1duser_flink_application_scored\x18\x04 \x01(\x0b\x32\x31.osprey.rpc.actions.v1.UserFlinkApplicationScoredH\x00\x12\\\n\x1eguild_flink_application_scored\x18\x05 \x01(\x0b\x32\x32.osprey.rpc.actions.v1.GuildFlinkApplicationScoredH\x00\x12<\n\rguild_created\x18\x06 \x01(\x0b\x32#.osprey.rpc.actions.v1.GuildCreatedH\x00\x12\x46\n\x13user_batch_ml_score\x18\x07 \x01(\x0b\x32\'.osprey.rpc.actions.v1.UserBatchMLScoreH\x00\x12:\n\x0cuser_blocked\x18\x08 \x01(\x0b\x32\".osprey.rpc.actions.v1.UserBlockedH\x00\x12:\n\x0cguild_joined\x18\t \x01(\x0b\x32\".osprey.rpc.actions.v1.GuildJoinedH\x00\x12V\n\x1bosprey_auto_clustering_user\x18\n \x01(\x0b\x32/.osprey.rpc.actions.v1.OspreyAutoClusteringUserH\x00\x12T\n\x1aosprey_auto_clustering_key\x18\x0b \x01(\x0b\x32..osprey.rpc.actions.v1.OspreyAutoClusteringKeyH\x00\x12R\n\x19hash_matcher_icon_matched\x18\x0c \x01(\x0b\x32-.osprey.rpc.actions.v1.HashMatcherIconMatchedH\x00\x12Q\n\x18safety_visual_prediction\x18\r \x01(\x0b\x32-.osprey.rpc.actions.v1.SafetyVisualPredictionH\x00\x42\x06\n\x04\x64\x61ta\"}\n\x12\x41uthSessionCreated\x12-\n\x04user\x18\x01 \x01(\x0b\x32\x1f.osprey.rpc.actions.v1.UserAuth\x12\x38\n\x0cuser_session\x18\x02 \x01(\x0b\x32\".osprey.rpc.actions.v1.UserSession\"~\n\x13\x41uthSessionModified\x12-\n\x04user\x18\x01 \x01(\x0b\x32\x1f.osprey.rpc.actions.v1.UserAuth\x12\x38\n\x0cuser_session\x18\x02 \x01(\x0b\x32\".osprey.rpc.actions.v1.UserSession\"\xb4\x02\n\x1aUserFlinkApplicationScored\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0fsource_event_id\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12:\n\x16source_event_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x04user\x18\x04 \x01(\x0b\x32 .osprey.rpc.actions.v1.UserFlink\x12\x18\n\x10\x61pplication_name\x18\x05 \x01(\t\x12\x1b\n\x13\x61pplication_version\x18\x06 \x01(\t\x12\r\n\x05score\x18\x07 \x01(\x01\"\x97\x02\n\x1bGuildFlinkApplicationScored\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0fsource_event_id\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12:\n\x16source_event_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08guild_id\x18\x04 \x01(\x04\x12\x18\n\x10\x61pplication_name\x18\x05 \x01(\t\x12\x1b\n\x13\x61pplication_version\x18\x06 \x01(\t\x12\r\n\x05score\x18\x07 \x01(\x01\"5\n\x10OrchestrationJob\x12\x11\n\ttool_name\x18\x01 \x01(\t\x12\x0e\n\x06job_id\x18\x02 \x01(\t\"\xf6\x02\n\x10UserBatchMLScore\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x04user\x18\x02 \x01(\x0b\x32\".osprey.rpc.actions.v1.UserBatchML\x12\x42\n\x11orchestration_job\x18\x03 \x01(\x0b\x32\'.osprey.rpc.actions.v1.OrchestrationJob\x12\x18\n\x10\x61pplication_name\x18\x04 \x01(\t\x12\x1b\n\x13\x61pplication_version\x18\x05 \x01(\t\x12\r\n\x05score\x18\x06 \x01(\x01\x12\x36\n\x07\x63luster\x18\x07 \x01(\x0b\x32%.osprey.rpc.actions.v1.BatchMLCluster\x12?\n\x0csource_event\x18\x08 \x01(\x0b\x32).osprey.rpc.actions.v1.BatchMLSourceEvent\"\x85\x01\n\x18OspreyAutoClusteringUser\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07user_id\x18\x02 \x01(\x04\x12\x15\n\rpipeline_name\x18\x03 \x01(\t\x12\x12\n\ncluster_id\x18\x04 \x01(\t\"\xba\x01\n\x17OspreyAutoClusteringKey\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x15\n\rpipeline_name\x18\x04 \x01(\t\x12\x12\n\ncluster_id\x18\x05 \x01(\t\x12\x14\n\x0c\x63luster_size\x18\x06 \x01(\x04\x12\x13\n\x0b\x65ntity_type\x18\x07 \x01(\t\"\xc8\x02\n\x16HashMatcherIconMatched\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\ncontent_id\x18\x02 \x01(\t\x12\x16\n\x0ehash_algorithm\x18\x03 \x01(\t\x12\x10\n\x08\x64istance\x18\x04 \x01(\x01\x12\x0f\n\x07seed_id\x18\x05 \x01(\t\x12\x1e\n\x16qdrant_collection_name\x18\x06 \x01(\t\x12\x0b\n\x03md5\x18\x07 \x01(\t\x12\x0e\n\x06policy\x18\x08 \x01(\t\x12\x14\n\x0cseed_gcs_uri\x18\t \x01(\t\x12\x10\n\x08guild_id\x18\n \x01(\x04\x12\x15\n\rseed_metadata\x18\x0b \x01(\t\x12\x34\n\x04user\x18\x0c \x01(\x0b\x32&.osprey.rpc.actions.v1.UserHashMatcher\"\xde\x02\n\x16SafetyVisualPrediction\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08guild_id\x18\x02 \x01(\x04\x12\x12\n\nchannel_id\x18\x03 \x01(\x04\x12\x12\n\nmessage_id\x18\x04 \x01(\x04\x12\x15\n\rattachment_id\x18\x05 \x01(\x04\x12\x0f\n\x07user_id\x18\x06 \x01(\x04\x12\x12\n\nwebhook_id\x18\x07 \x01(\x04\x12\x18\n\x10prediction_class\x18\x08 \x01(\t\x12\r\n\x05score\x18\t \x01(\x02\x12\x10\n\x08\x64\x65\x63ision\x18\n \x01(\x08\x12\x1a\n\x12\x64\x65\x63ision_threshold\x18\x0b \x01(\x02\x12\x10\n\x08md5_hash\x18\x0c \x01(\t\x12\x10\n\x08\x66rom_bot\x18\r \x01(\x08\x12\x14\n\x0cscored_class\x18\x0e \x01(\t\x12\x0e\n\x06source\x18\x0f \x01(\t\"S\n\x0e\x42\x61tchMLCluster\x12\x12\n\ncluster_id\x18\x01 \x01(\t\x12\x18\n\x10\x63luster_features\x18\x02 \x03(\t\x12\x13\n\x0b\x61pply_label\x18\x03 \x01(\x08\"\x93\x02\n\x0bUserSession\x12\x0f\n\x07id_hash\x18\x01 \x01(\x0c\x12\x31\n\rcreation_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x65xpiration_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x39\n\x15\x61pprox_last_used_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x1aprev_approx_last_used_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x02\x10\x03J\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"G\n\x08UserAuth\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x13\n\x0bmfa_enabled\x18\x02 \x01(\x08\x12\x0b\n\x03\x62ot\x18\x03 \x01(\x08\x12\r\n\x05\x66lags\x18\x04 \x01(\x03\"\x17\n\tUserFlink\x12\n\n\x02id\x18\x01 \x01(\x06\"\x19\n\x0bUserBatchML\x12\n\n\x02id\x18\x01 \x01(\x06\"\x1d\n\x0fUserHashMatcher\x12\n\n\x02id\x18\x01 \x01(\x06\"\xbe\x01\n\x12\x42\x61tchMLSourceEvent\x12\x35\n\x0fsource_event_id\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12:\n\x16source_event_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x0fsource_guild_id\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt64Valueb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.action_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _ACTION._serialized_start=169 + _ACTION._serialized_end=1130 + _AUTHSESSIONCREATED._serialized_start=1132 + _AUTHSESSIONCREATED._serialized_end=1257 + _AUTHSESSIONMODIFIED._serialized_start=1259 + _AUTHSESSIONMODIFIED._serialized_end=1385 + _USERFLINKAPPLICATIONSCORED._serialized_start=1388 + _USERFLINKAPPLICATIONSCORED._serialized_end=1696 + _GUILDFLINKAPPLICATIONSCORED._serialized_start=1699 + _GUILDFLINKAPPLICATIONSCORED._serialized_end=1978 + _ORCHESTRATIONJOB._serialized_start=1980 + _ORCHESTRATIONJOB._serialized_end=2033 + _USERBATCHMLSCORE._serialized_start=2036 + _USERBATCHMLSCORE._serialized_end=2410 + _OSPREYAUTOCLUSTERINGUSER._serialized_start=2413 + _OSPREYAUTOCLUSTERINGUSER._serialized_end=2546 + _OSPREYAUTOCLUSTERINGKEY._serialized_start=2549 + _OSPREYAUTOCLUSTERINGKEY._serialized_end=2735 + _HASHMATCHERICONMATCHED._serialized_start=2738 + _HASHMATCHERICONMATCHED._serialized_end=3066 + _SAFETYVISUALPREDICTION._serialized_start=3069 + _SAFETYVISUALPREDICTION._serialized_end=3419 + _BATCHMLCLUSTER._serialized_start=3421 + _BATCHMLCLUSTER._serialized_end=3504 + _USERSESSION._serialized_start=3507 + _USERSESSION._serialized_end=3782 + _USERAUTH._serialized_start=3784 + _USERAUTH._serialized_end=3855 + _USERFLINK._serialized_start=3857 + _USERFLINK._serialized_end=3880 + _USERBATCHML._serialized_start=3882 + _USERBATCHML._serialized_end=3907 + _USERHASHMATCHER._serialized_start=3909 + _USERHASHMATCHER._serialized_end=3938 + _BATCHMLSOURCEEVENT._serialized_start=3941 + _BATCHMLSOURCEEVENT._serialized_end=4131 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.pyi new file mode 100644 index 0000000..efa9b26 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2.pyi @@ -0,0 +1,600 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import google.protobuf.wrappers_pb2 +import osprey.rpc.actions.v1.action_types_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Action(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + AUTH_SESSION_CREATED_FIELD_NUMBER: builtins.int + AUTH_SESSION_MODIFIED_FIELD_NUMBER: builtins.int + USER_FLINK_APPLICATION_SCORED_FIELD_NUMBER: builtins.int + GUILD_FLINK_APPLICATION_SCORED_FIELD_NUMBER: builtins.int + GUILD_CREATED_FIELD_NUMBER: builtins.int + USER_BATCH_ML_SCORE_FIELD_NUMBER: builtins.int + USER_BLOCKED_FIELD_NUMBER: builtins.int + GUILD_JOINED_FIELD_NUMBER: builtins.int + OSPREY_AUTO_CLUSTERING_USER_FIELD_NUMBER: builtins.int + OSPREY_AUTO_CLUSTERING_KEY_FIELD_NUMBER: builtins.int + HASH_MATCHER_ICON_MATCHED_FIELD_NUMBER: builtins.int + SAFETY_VISUAL_PREDICTION_FIELD_NUMBER: builtins.int + id: builtins.int + """Snowflake id of action message + Currently actions from discord_authentication use a pseudo snowflake to reduce dependencies. + """ + @property + def auth_session_created(self) -> global___AuthSessionCreated: ... + @property + def auth_session_modified(self) -> global___AuthSessionModified: ... + @property + def user_flink_application_scored(self) -> global___UserFlinkApplicationScored: ... + @property + def guild_flink_application_scored(self) -> global___GuildFlinkApplicationScored: ... + @property + def guild_created(self) -> osprey.rpc.actions.v1.action_types_pb2.GuildCreated: ... + @property + def user_batch_ml_score(self) -> global___UserBatchMLScore: ... + @property + def user_blocked(self) -> osprey.rpc.actions.v1.action_types_pb2.UserBlocked: ... + @property + def guild_joined(self) -> osprey.rpc.actions.v1.action_types_pb2.GuildJoined: ... + @property + def osprey_auto_clustering_user(self) -> global___OspreyAutoClusteringUser: ... + @property + def osprey_auto_clustering_key(self) -> global___OspreyAutoClusteringKey: ... + @property + def hash_matcher_icon_matched(self) -> global___HashMatcherIconMatched: ... + @property + def safety_visual_prediction(self) -> global___SafetyVisualPrediction: ... + def __init__( + self, + *, + id: builtins.int = ..., + auth_session_created: global___AuthSessionCreated | None = ..., + auth_session_modified: global___AuthSessionModified | None = ..., + user_flink_application_scored: global___UserFlinkApplicationScored | None = ..., + guild_flink_application_scored: global___GuildFlinkApplicationScored | None = ..., + guild_created: osprey.rpc.actions.v1.action_types_pb2.GuildCreated | None = ..., + user_batch_ml_score: global___UserBatchMLScore | None = ..., + user_blocked: osprey.rpc.actions.v1.action_types_pb2.UserBlocked | None = ..., + guild_joined: osprey.rpc.actions.v1.action_types_pb2.GuildJoined | None = ..., + osprey_auto_clustering_user: global___OspreyAutoClusteringUser | None = ..., + osprey_auto_clustering_key: global___OspreyAutoClusteringKey | None = ..., + hash_matcher_icon_matched: global___HashMatcherIconMatched | None = ..., + safety_visual_prediction: global___SafetyVisualPrediction | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["auth_session_created", b"auth_session_created", "auth_session_modified", b"auth_session_modified", "data", b"data", "guild_created", b"guild_created", "guild_flink_application_scored", b"guild_flink_application_scored", "guild_joined", b"guild_joined", "hash_matcher_icon_matched", b"hash_matcher_icon_matched", "osprey_auto_clustering_key", b"osprey_auto_clustering_key", "osprey_auto_clustering_user", b"osprey_auto_clustering_user", "safety_visual_prediction", b"safety_visual_prediction", "user_batch_ml_score", b"user_batch_ml_score", "user_blocked", b"user_blocked", "user_flink_application_scored", b"user_flink_application_scored"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["auth_session_created", b"auth_session_created", "auth_session_modified", b"auth_session_modified", "data", b"data", "guild_created", b"guild_created", "guild_flink_application_scored", b"guild_flink_application_scored", "guild_joined", b"guild_joined", "hash_matcher_icon_matched", b"hash_matcher_icon_matched", "id", b"id", "osprey_auto_clustering_key", b"osprey_auto_clustering_key", "osprey_auto_clustering_user", b"osprey_auto_clustering_user", "safety_visual_prediction", b"safety_visual_prediction", "user_batch_ml_score", b"user_batch_ml_score", "user_blocked", b"user_blocked", "user_flink_application_scored", b"user_flink_application_scored"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["data", b"data"]) -> typing.Literal["auth_session_created", "auth_session_modified", "user_flink_application_scored", "guild_flink_application_scored", "guild_created", "user_batch_ml_score", "user_blocked", "guild_joined", "osprey_auto_clustering_user", "osprey_auto_clustering_key", "hash_matcher_icon_matched", "safety_visual_prediction"] | None: ... + +global___Action = Action + +@typing.final +class AuthSessionCreated(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USER_FIELD_NUMBER: builtins.int + USER_SESSION_FIELD_NUMBER: builtins.int + @property + def user(self) -> global___UserAuth: ... + @property + def user_session(self) -> global___UserSession: ... + def __init__( + self, + *, + user: global___UserAuth | None = ..., + user_session: global___UserSession | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["user", b"user", "user_session", b"user_session"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["user", b"user", "user_session", b"user_session"]) -> None: ... + +global___AuthSessionCreated = AuthSessionCreated + +@typing.final +class AuthSessionModified(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USER_FIELD_NUMBER: builtins.int + USER_SESSION_FIELD_NUMBER: builtins.int + @property + def user(self) -> global___UserAuth: ... + @property + def user_session(self) -> global___UserSession: ... + def __init__( + self, + *, + user: global___UserAuth | None = ..., + user_session: global___UserSession | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["user", b"user", "user_session", b"user_session"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["user", b"user", "user_session", b"user_session"]) -> None: ... + +global___AuthSessionModified = AuthSessionModified + +@typing.final +class UserFlinkApplicationScored(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + SOURCE_EVENT_ID_FIELD_NUMBER: builtins.int + SOURCE_EVENT_TIMESTAMP_FIELD_NUMBER: builtins.int + USER_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + APPLICATION_VERSION_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + application_name: builtins.str + application_version: builtins.str + score: builtins.float + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def source_event_id(self) -> google.protobuf.wrappers_pb2.UInt64Value: ... + @property + def source_event_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def user(self) -> global___UserFlink: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + source_event_id: google.protobuf.wrappers_pb2.UInt64Value | None = ..., + source_event_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + user: global___UserFlink | None = ..., + application_name: builtins.str = ..., + application_version: builtins.str = ..., + score: builtins.float = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "timestamp", b"timestamp", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["application_name", b"application_name", "application_version", b"application_version", "score", b"score", "source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "timestamp", b"timestamp", "user", b"user"]) -> None: ... + +global___UserFlinkApplicationScored = UserFlinkApplicationScored + +@typing.final +class GuildFlinkApplicationScored(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + SOURCE_EVENT_ID_FIELD_NUMBER: builtins.int + SOURCE_EVENT_TIMESTAMP_FIELD_NUMBER: builtins.int + GUILD_ID_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + APPLICATION_VERSION_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + guild_id: builtins.int + application_name: builtins.str + application_version: builtins.str + score: builtins.float + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def source_event_id(self) -> google.protobuf.wrappers_pb2.UInt64Value: ... + @property + def source_event_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + source_event_id: google.protobuf.wrappers_pb2.UInt64Value | None = ..., + source_event_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + guild_id: builtins.int = ..., + application_name: builtins.str = ..., + application_version: builtins.str = ..., + score: builtins.float = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["application_name", b"application_name", "application_version", b"application_version", "guild_id", b"guild_id", "score", b"score", "source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "timestamp", b"timestamp"]) -> None: ... + +global___GuildFlinkApplicationScored = GuildFlinkApplicationScored + +@typing.final +class OrchestrationJob(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOOL_NAME_FIELD_NUMBER: builtins.int + JOB_ID_FIELD_NUMBER: builtins.int + tool_name: builtins.str + """Orchestration tool used (e.g., 'airflow', 'argo', 'dagster')""" + job_id: builtins.str + """Orchestration tool unique job id (e.g., Airflow run_id, Argo workflow ID, Dagster run ID)""" + def __init__( + self, + *, + tool_name: builtins.str = ..., + job_id: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["job_id", b"job_id", "tool_name", b"tool_name"]) -> None: ... + +global___OrchestrationJob = OrchestrationJob + +@typing.final +class UserBatchMLScore(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + USER_FIELD_NUMBER: builtins.int + ORCHESTRATION_JOB_FIELD_NUMBER: builtins.int + APPLICATION_NAME_FIELD_NUMBER: builtins.int + APPLICATION_VERSION_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + CLUSTER_FIELD_NUMBER: builtins.int + SOURCE_EVENT_FIELD_NUMBER: builtins.int + application_name: builtins.str + application_version: builtins.str + score: builtins.float + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def user(self) -> global___UserBatchML: ... + @property + def orchestration_job(self) -> global___OrchestrationJob: ... + @property + def cluster(self) -> global___BatchMLCluster: ... + @property + def source_event(self) -> global___BatchMLSourceEvent: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + user: global___UserBatchML | None = ..., + orchestration_job: global___OrchestrationJob | None = ..., + application_name: builtins.str = ..., + application_version: builtins.str = ..., + score: builtins.float = ..., + cluster: global___BatchMLCluster | None = ..., + source_event: global___BatchMLSourceEvent | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["cluster", b"cluster", "orchestration_job", b"orchestration_job", "source_event", b"source_event", "timestamp", b"timestamp", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["application_name", b"application_name", "application_version", b"application_version", "cluster", b"cluster", "orchestration_job", b"orchestration_job", "score", b"score", "source_event", b"source_event", "timestamp", b"timestamp", "user", b"user"]) -> None: ... + +global___UserBatchMLScore = UserBatchMLScore + +@typing.final +class OspreyAutoClusteringUser(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + PIPELINE_NAME_FIELD_NUMBER: builtins.int + CLUSTER_ID_FIELD_NUMBER: builtins.int + user_id: builtins.int + pipeline_name: builtins.str + cluster_id: builtins.str + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + user_id: builtins.int = ..., + pipeline_name: builtins.str = ..., + cluster_id: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "pipeline_name", b"pipeline_name", "timestamp", b"timestamp", "user_id", b"user_id"]) -> None: ... + +global___OspreyAutoClusteringUser = OspreyAutoClusteringUser + +@typing.final +class OspreyAutoClusteringKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + PIPELINE_NAME_FIELD_NUMBER: builtins.int + CLUSTER_ID_FIELD_NUMBER: builtins.int + CLUSTER_SIZE_FIELD_NUMBER: builtins.int + ENTITY_TYPE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + pipeline_name: builtins.str + cluster_id: builtins.str + cluster_size: builtins.int + entity_type: builtins.str + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + key: builtins.str = ..., + value: builtins.str = ..., + pipeline_name: builtins.str = ..., + cluster_id: builtins.str = ..., + cluster_size: builtins.int = ..., + entity_type: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cluster_id", b"cluster_id", "cluster_size", b"cluster_size", "entity_type", b"entity_type", "key", b"key", "pipeline_name", b"pipeline_name", "timestamp", b"timestamp", "value", b"value"]) -> None: ... + +global___OspreyAutoClusteringKey = OspreyAutoClusteringKey + +@typing.final +class HashMatcherIconMatched(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + CONTENT_ID_FIELD_NUMBER: builtins.int + HASH_ALGORITHM_FIELD_NUMBER: builtins.int + DISTANCE_FIELD_NUMBER: builtins.int + SEED_ID_FIELD_NUMBER: builtins.int + QDRANT_COLLECTION_NAME_FIELD_NUMBER: builtins.int + MD5_FIELD_NUMBER: builtins.int + POLICY_FIELD_NUMBER: builtins.int + SEED_GCS_URI_FIELD_NUMBER: builtins.int + GUILD_ID_FIELD_NUMBER: builtins.int + SEED_METADATA_FIELD_NUMBER: builtins.int + USER_FIELD_NUMBER: builtins.int + content_id: builtins.str + hash_algorithm: builtins.str + distance: builtins.float + seed_id: builtins.str + qdrant_collection_name: builtins.str + md5: builtins.str + policy: builtins.str + seed_gcs_uri: builtins.str + guild_id: builtins.int + seed_metadata: builtins.str + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def user(self) -> global___UserHashMatcher: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + content_id: builtins.str = ..., + hash_algorithm: builtins.str = ..., + distance: builtins.float = ..., + seed_id: builtins.str = ..., + qdrant_collection_name: builtins.str = ..., + md5: builtins.str = ..., + policy: builtins.str = ..., + seed_gcs_uri: builtins.str = ..., + guild_id: builtins.int = ..., + seed_metadata: builtins.str = ..., + user: global___UserHashMatcher | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content_id", b"content_id", "distance", b"distance", "guild_id", b"guild_id", "hash_algorithm", b"hash_algorithm", "md5", b"md5", "policy", b"policy", "qdrant_collection_name", b"qdrant_collection_name", "seed_gcs_uri", b"seed_gcs_uri", "seed_id", b"seed_id", "seed_metadata", b"seed_metadata", "timestamp", b"timestamp", "user", b"user"]) -> None: ... + +global___HashMatcherIconMatched = HashMatcherIconMatched + +@typing.final +class SafetyVisualPrediction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + GUILD_ID_FIELD_NUMBER: builtins.int + CHANNEL_ID_FIELD_NUMBER: builtins.int + MESSAGE_ID_FIELD_NUMBER: builtins.int + ATTACHMENT_ID_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + WEBHOOK_ID_FIELD_NUMBER: builtins.int + PREDICTION_CLASS_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + DECISION_FIELD_NUMBER: builtins.int + DECISION_THRESHOLD_FIELD_NUMBER: builtins.int + MD5_HASH_FIELD_NUMBER: builtins.int + FROM_BOT_FIELD_NUMBER: builtins.int + SCORED_CLASS_FIELD_NUMBER: builtins.int + SOURCE_FIELD_NUMBER: builtins.int + guild_id: builtins.int + channel_id: builtins.int + message_id: builtins.int + attachment_id: builtins.int + user_id: builtins.int + webhook_id: builtins.int + prediction_class: builtins.str + score: builtins.float + decision: builtins.bool + decision_threshold: builtins.float + md5_hash: builtins.str + from_bot: builtins.bool + scored_class: builtins.str + source: builtins.str + @property + def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + guild_id: builtins.int = ..., + channel_id: builtins.int = ..., + message_id: builtins.int = ..., + attachment_id: builtins.int = ..., + user_id: builtins.int = ..., + webhook_id: builtins.int = ..., + prediction_class: builtins.str = ..., + score: builtins.float = ..., + decision: builtins.bool = ..., + decision_threshold: builtins.float = ..., + md5_hash: builtins.str = ..., + from_bot: builtins.bool = ..., + scored_class: builtins.str = ..., + source: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attachment_id", b"attachment_id", "channel_id", b"channel_id", "decision", b"decision", "decision_threshold", b"decision_threshold", "from_bot", b"from_bot", "guild_id", b"guild_id", "md5_hash", b"md5_hash", "message_id", b"message_id", "prediction_class", b"prediction_class", "score", b"score", "scored_class", b"scored_class", "source", b"source", "timestamp", b"timestamp", "user_id", b"user_id", "webhook_id", b"webhook_id"]) -> None: ... + +global___SafetyVisualPrediction = SafetyVisualPrediction + +@typing.final +class BatchMLCluster(google.protobuf.message.Message): + """Cluster ID and metadata for ML clustering batch jobs""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CLUSTER_ID_FIELD_NUMBER: builtins.int + CLUSTER_FEATURES_FIELD_NUMBER: builtins.int + APPLY_LABEL_FIELD_NUMBER: builtins.int + cluster_id: builtins.str + """cluster_id is a uuid""" + apply_label: builtins.bool + """whether we want to apply a label to future actions that match this cluster's cluster_features, + or just act on the individual entities identified in this cluster on this batch run + """ + @property + def cluster_features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """cluster_features is a list of strings in the format ['featureA:valueA', 'featureB:valueB']""" + + def __init__( + self, + *, + cluster_id: builtins.str = ..., + cluster_features: collections.abc.Iterable[builtins.str] | None = ..., + apply_label: builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["apply_label", b"apply_label", "cluster_features", b"cluster_features", "cluster_id", b"cluster_id"]) -> None: ... + +global___BatchMLCluster = BatchMLCluster + +@typing.final +class UserSession(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_HASH_FIELD_NUMBER: builtins.int + CREATION_TIME_FIELD_NUMBER: builtins.int + EXPIRATION_TIME_FIELD_NUMBER: builtins.int + APPROX_LAST_USED_TIME_FIELD_NUMBER: builtins.int + PREV_APPROX_LAST_USED_TIME_FIELD_NUMBER: builtins.int + id_hash: builtins.bytes + @property + def creation_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def expiration_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def approx_last_used_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def prev_approx_last_used_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + id_hash: builtins.bytes = ..., + creation_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + expiration_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + approx_last_used_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + prev_approx_last_used_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["approx_last_used_time", b"approx_last_used_time", "creation_time", b"creation_time", "expiration_time", b"expiration_time", "prev_approx_last_used_time", b"prev_approx_last_used_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["approx_last_used_time", b"approx_last_used_time", "creation_time", b"creation_time", "expiration_time", b"expiration_time", "id_hash", b"id_hash", "prev_approx_last_used_time", b"prev_approx_last_used_time"]) -> None: ... + +global___UserSession = UserSession + +@typing.final +class UserAuth(google.protobuf.message.Message): + """A subset of user object fields that are populated by the Auth service""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + MFA_ENABLED_FIELD_NUMBER: builtins.int + BOT_FIELD_NUMBER: builtins.int + FLAGS_FIELD_NUMBER: builtins.int + id: builtins.int + mfa_enabled: builtins.bool + bot: builtins.bool + flags: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + mfa_enabled: builtins.bool = ..., + bot: builtins.bool = ..., + flags: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["bot", b"bot", "flags", b"flags", "id", b"id", "mfa_enabled", b"mfa_enabled"]) -> None: ... + +global___UserAuth = UserAuth + +@typing.final +class UserFlink(google.protobuf.message.Message): + """User field for Flink events""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + id: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + +global___UserFlink = UserFlink + +@typing.final +class UserBatchML(google.protobuf.message.Message): + """User field for Batch ML jobs""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + id: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + +global___UserBatchML = UserBatchML + +@typing.final +class UserHashMatcher(google.protobuf.message.Message): + """User field for HashMatcher events""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + id: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + +global___UserHashMatcher = UserHashMatcher + +@typing.final +class BatchMLSourceEvent(google.protobuf.message.Message): + """Source event for a UserBatchMLScore""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SOURCE_EVENT_ID_FIELD_NUMBER: builtins.int + SOURCE_EVENT_TIMESTAMP_FIELD_NUMBER: builtins.int + SOURCE_GUILD_ID_FIELD_NUMBER: builtins.int + @property + def source_event_id(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def source_event_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def source_guild_id(self) -> google.protobuf.wrappers_pb2.UInt64Value: ... + def __init__( + self, + *, + source_event_id: google.protobuf.wrappers_pb2.StringValue | None = ..., + source_event_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + source_guild_id: google.protobuf.wrappers_pb2.UInt64Value | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "source_guild_id", b"source_guild_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source_event_id", b"source_event_id", "source_event_timestamp", b"source_event_timestamp", "source_guild_id", b"source_guild_id"]) -> None: ... + +global___BatchMLSourceEvent = BatchMLSourceEvent diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.py new file mode 100644 index 0000000..7f1716c --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/action_types.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from osprey.rpc.actions.v1 import application_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_application__pb2 +from osprey.rpc.actions.v1 import captcha_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_captcha__pb2 +from osprey.rpc.actions.v1 import channel_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_channel__pb2 +from osprey.rpc.actions.v1 import guild_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_guild__pb2 +from osprey.rpc.actions.v1 import invite_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_invite__pb2 +from osprey.rpc.actions.v1 import metadata_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_metadata__pb2 +from osprey.rpc.actions.v1 import user_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_user__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(osprey/rpc/actions/v1/action_types.proto\x12\x15osprey.rpc.actions.v1\x1a\'osprey/rpc/actions/v1/application.proto\x1a#osprey/rpc/actions/v1/captcha.proto\x1a#osprey/rpc/actions/v1/channel.proto\x1a!osprey/rpc/actions/v1/guild.proto\x1a\"osprey/rpc/actions/v1/invite.proto\x1a$osprey/rpc/actions/v1/metadata.proto\x1a osprey/rpc/actions/v1/user.proto\"\xdb\x01\n\x0cGuildCreated\x12)\n\x04user\x18\x01 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12+\n\x05guild\x18\x02 \x01(\x0b\x32\x1c.osprey.rpc.actions.v1.Guild\x12<\n\x0chttp_request\x18\x03 \x01(\x0b\x32&.osprey.rpc.actions.v1.HttpRequestData\x12\x35\n\nproperties\x18\x04 \x01(\x0b\x32!.osprey.rpc.actions.v1.Properties\"\xe7\x03\n\x0bUserBlocked\x12)\n\x04user\x18\x01 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12\x30\n\x0btarget_user\x18\x02 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12+\n\x05guild\x18\x03 \x01(\x0b\x32\x1c.osprey.rpc.actions.v1.Guild\x12\x38\n\x0cguild_member\x18\x04 \x01(\x0b\x32\".osprey.rpc.actions.v1.GuildMember\x12?\n\x13target_guild_member\x18\x05 \x01(\x0b\x32\".osprey.rpc.actions.v1.GuildMember\x12\x19\n\x11\x64id_solve_captcha\x18\x06 \x01(\x08\x12\x19\n\x11num_mutual_guilds\x18\x07 \x01(\x05\x12\x0e\n\x06source\x18\x08 \x01(\x05\x12\x18\n\x10user_guild_count\x18\t \x01(\x05\x12<\n\x0chttp_request\x18\n \x01(\x0b\x32&.osprey.rpc.actions.v1.HttpRequestData\x12\x35\n\nproperties\x18\x0b \x01(\x0b\x32!.osprey.rpc.actions.v1.Properties\"\x83\x04\n\x0bGuildJoined\x12)\n\x04user\x18\x01 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12,\n\x07inviter\x18\x02 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12+\n\x05guild\x18\x03 \x01(\x0b\x32\x1c.osprey.rpc.actions.v1.Guild\x12\x32\n\x06invite\x18\x04 \x01(\x0b\x32\".osprey.rpc.actions.v1.GuildInvite\x12/\n\x07\x63hannel\x18\x05 \x01(\x0b\x32\x1e.osprey.rpc.actions.v1.Channel\x12\x37\n\x0b\x61pplication\x18\x06 \x01(\x0b\x32\".osprey.rpc.actions.v1.Application\x12@\n\x10\x63\x61ptcha_response\x18\x07 \x01(\x0b\x32&.osprey.rpc.actions.v1.CaptchaResponse\x12\x19\n\x11\x64id_solve_captcha\x18\x08 \x01(\x08\x12<\n\x0chttp_request\x18\t \x01(\x0b\x32&.osprey.rpc.actions.v1.HttpRequestData\x12\x35\n\nproperties\x18\n \x01(\x0b\x32!.osprey.rpc.actions.v1.Propertiesb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.action_types_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _GUILDCREATED._serialized_start=326 + _GUILDCREATED._serialized_end=545 + _USERBLOCKED._serialized_start=548 + _USERBLOCKED._serialized_end=1035 + _GUILDJOINED._serialized_start=1038 + _GUILDJOINED._serialized_end=1553 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.pyi new file mode 100644 index 0000000..da12f9a --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2.pyi @@ -0,0 +1,152 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import osprey.rpc.actions.v1.application_pb2 +import osprey.rpc.actions.v1.captcha_pb2 +import osprey.rpc.actions.v1.channel_pb2 +import osprey.rpc.actions.v1.guild_pb2 +import osprey.rpc.actions.v1.invite_pb2 +import osprey.rpc.actions.v1.metadata_pb2 +import osprey.rpc.actions.v1.user_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class GuildCreated(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USER_FIELD_NUMBER: builtins.int + GUILD_FIELD_NUMBER: builtins.int + HTTP_REQUEST_FIELD_NUMBER: builtins.int + PROPERTIES_FIELD_NUMBER: builtins.int + @property + def user(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def guild(self) -> osprey.rpc.actions.v1.guild_pb2.Guild: ... + @property + def http_request(self) -> osprey.rpc.actions.v1.metadata_pb2.HttpRequestData: ... + @property + def properties(self) -> osprey.rpc.actions.v1.metadata_pb2.Properties: ... + def __init__( + self, + *, + user: osprey.rpc.actions.v1.user_pb2.User | None = ..., + guild: osprey.rpc.actions.v1.guild_pb2.Guild | None = ..., + http_request: osprey.rpc.actions.v1.metadata_pb2.HttpRequestData | None = ..., + properties: osprey.rpc.actions.v1.metadata_pb2.Properties | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["guild", b"guild", "http_request", b"http_request", "properties", b"properties", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["guild", b"guild", "http_request", b"http_request", "properties", b"properties", "user", b"user"]) -> None: ... + +global___GuildCreated = GuildCreated + +@typing.final +class UserBlocked(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USER_FIELD_NUMBER: builtins.int + TARGET_USER_FIELD_NUMBER: builtins.int + GUILD_FIELD_NUMBER: builtins.int + GUILD_MEMBER_FIELD_NUMBER: builtins.int + TARGET_GUILD_MEMBER_FIELD_NUMBER: builtins.int + DID_SOLVE_CAPTCHA_FIELD_NUMBER: builtins.int + NUM_MUTUAL_GUILDS_FIELD_NUMBER: builtins.int + SOURCE_FIELD_NUMBER: builtins.int + USER_GUILD_COUNT_FIELD_NUMBER: builtins.int + HTTP_REQUEST_FIELD_NUMBER: builtins.int + PROPERTIES_FIELD_NUMBER: builtins.int + did_solve_captcha: builtins.bool + num_mutual_guilds: builtins.int + source: builtins.int + user_guild_count: builtins.int + @property + def user(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def target_user(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def guild(self) -> osprey.rpc.actions.v1.guild_pb2.Guild: ... + @property + def guild_member(self) -> osprey.rpc.actions.v1.guild_pb2.GuildMember: ... + @property + def target_guild_member(self) -> osprey.rpc.actions.v1.guild_pb2.GuildMember: ... + @property + def http_request(self) -> osprey.rpc.actions.v1.metadata_pb2.HttpRequestData: ... + @property + def properties(self) -> osprey.rpc.actions.v1.metadata_pb2.Properties: ... + def __init__( + self, + *, + user: osprey.rpc.actions.v1.user_pb2.User | None = ..., + target_user: osprey.rpc.actions.v1.user_pb2.User | None = ..., + guild: osprey.rpc.actions.v1.guild_pb2.Guild | None = ..., + guild_member: osprey.rpc.actions.v1.guild_pb2.GuildMember | None = ..., + target_guild_member: osprey.rpc.actions.v1.guild_pb2.GuildMember | None = ..., + did_solve_captcha: builtins.bool = ..., + num_mutual_guilds: builtins.int = ..., + source: builtins.int = ..., + user_guild_count: builtins.int = ..., + http_request: osprey.rpc.actions.v1.metadata_pb2.HttpRequestData | None = ..., + properties: osprey.rpc.actions.v1.metadata_pb2.Properties | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["guild", b"guild", "guild_member", b"guild_member", "http_request", b"http_request", "properties", b"properties", "target_guild_member", b"target_guild_member", "target_user", b"target_user", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["did_solve_captcha", b"did_solve_captcha", "guild", b"guild", "guild_member", b"guild_member", "http_request", b"http_request", "num_mutual_guilds", b"num_mutual_guilds", "properties", b"properties", "source", b"source", "target_guild_member", b"target_guild_member", "target_user", b"target_user", "user", b"user", "user_guild_count", b"user_guild_count"]) -> None: ... + +global___UserBlocked = UserBlocked + +@typing.final +class GuildJoined(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USER_FIELD_NUMBER: builtins.int + INVITER_FIELD_NUMBER: builtins.int + GUILD_FIELD_NUMBER: builtins.int + INVITE_FIELD_NUMBER: builtins.int + CHANNEL_FIELD_NUMBER: builtins.int + APPLICATION_FIELD_NUMBER: builtins.int + CAPTCHA_RESPONSE_FIELD_NUMBER: builtins.int + DID_SOLVE_CAPTCHA_FIELD_NUMBER: builtins.int + HTTP_REQUEST_FIELD_NUMBER: builtins.int + PROPERTIES_FIELD_NUMBER: builtins.int + did_solve_captcha: builtins.bool + @property + def user(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def inviter(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def guild(self) -> osprey.rpc.actions.v1.guild_pb2.Guild: ... + @property + def invite(self) -> osprey.rpc.actions.v1.invite_pb2.GuildInvite: ... + @property + def channel(self) -> osprey.rpc.actions.v1.channel_pb2.Channel: ... + @property + def application(self) -> osprey.rpc.actions.v1.application_pb2.Application: ... + @property + def captcha_response(self) -> osprey.rpc.actions.v1.captcha_pb2.CaptchaResponse: ... + @property + def http_request(self) -> osprey.rpc.actions.v1.metadata_pb2.HttpRequestData: ... + @property + def properties(self) -> osprey.rpc.actions.v1.metadata_pb2.Properties: ... + def __init__( + self, + *, + user: osprey.rpc.actions.v1.user_pb2.User | None = ..., + inviter: osprey.rpc.actions.v1.user_pb2.User | None = ..., + guild: osprey.rpc.actions.v1.guild_pb2.Guild | None = ..., + invite: osprey.rpc.actions.v1.invite_pb2.GuildInvite | None = ..., + channel: osprey.rpc.actions.v1.channel_pb2.Channel | None = ..., + application: osprey.rpc.actions.v1.application_pb2.Application | None = ..., + captcha_response: osprey.rpc.actions.v1.captcha_pb2.CaptchaResponse | None = ..., + did_solve_captcha: builtins.bool = ..., + http_request: osprey.rpc.actions.v1.metadata_pb2.HttpRequestData | None = ..., + properties: osprey.rpc.actions.v1.metadata_pb2.Properties | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["application", b"application", "captcha_response", b"captcha_response", "channel", b"channel", "guild", b"guild", "http_request", b"http_request", "invite", b"invite", "inviter", b"inviter", "properties", b"properties", "user", b"user"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["application", b"application", "captcha_response", b"captcha_response", "channel", b"channel", "did_solve_captcha", b"did_solve_captcha", "guild", b"guild", "http_request", b"http_request", "invite", b"invite", "inviter", b"inviter", "properties", b"properties", "user", b"user"]) -> None: ... + +global___GuildJoined = GuildJoined diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/action_types_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.py new file mode 100644 index 0000000..631e7ba --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/application.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from osprey.rpc.actions.v1 import user_pb2 as osprey_dot_rpc_dot_actions_dot_v1_dot_user__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'osprey/rpc/actions/v1/application.proto\x12\x15osprey.rpc.actions.v1\x1a osprey/rpc/actions/v1/user.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xb0\x01\n\x0b\x41pplication\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0e\n\x06\x62ot_id\x18\x02 \x01(\x06\x12(\n\x03\x62ot\x18\x03 \x01(\x0b\x32\x1b.osprey.rpc.actions.v1.User\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1e\n\x16\x65ventual_owner_user_id\x18\x05 \x01(\x06\x12-\n\x07team_id\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValueb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.application_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _APPLICATION._serialized_start=166 + _APPLICATION._serialized_end=342 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.pyi new file mode 100644 index 0000000..d1230b9 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2.pyi @@ -0,0 +1,46 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import google.protobuf.wrappers_pb2 +import osprey.rpc.actions.v1.user_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Application(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + BOT_ID_FIELD_NUMBER: builtins.int + BOT_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + EVENTUAL_OWNER_USER_ID_FIELD_NUMBER: builtins.int + TEAM_ID_FIELD_NUMBER: builtins.int + id: builtins.int + bot_id: builtins.int + name: builtins.str + eventual_owner_user_id: builtins.int + @property + def bot(self) -> osprey.rpc.actions.v1.user_pb2.User: ... + @property + def team_id(self) -> google.protobuf.wrappers_pb2.StringValue: ... + def __init__( + self, + *, + id: builtins.int = ..., + bot_id: builtins.int = ..., + bot: osprey.rpc.actions.v1.user_pb2.User | None = ..., + name: builtins.str = ..., + eventual_owner_user_id: builtins.int = ..., + team_id: google.protobuf.wrappers_pb2.StringValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["bot", b"bot", "team_id", b"team_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bot", b"bot", "bot_id", b"bot_id", "eventual_owner_user_id", b"eventual_owner_user_id", "id", b"id", "name", b"name", "team_id", b"team_id"]) -> None: ... + +global___Application = Application diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/application_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.py new file mode 100644 index 0000000..33cd94d --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/captcha.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#osprey/rpc/actions/v1/captcha.proto\x12\x15osprey.rpc.actions.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xab\x04\n\x0f\x43\x61ptchaResponse\x12\x17\n\x0f\x63\x61ptcha_service\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x30\n\x0c\x63hallenge_ts\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x65rror_codes\x18\x04 \x03(\t\x12>\n\x04sigs\x18\x05 \x03(\x0b\x32\x30.osprey.rpc.actions.v1.CaptchaResponse.SigsEntry\x12\x31\n\x0bsolve_token\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08hostname\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x05score\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x14\n\x0cscore_reason\x18\t \x03(\t\x12-\n\x07sitekey\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0cscoped_uid_0\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0cscoped_uid_1\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x1a+\n\tSigsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.captcha_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _CAPTCHARESPONSE_SIGSENTRY._options = None + _CAPTCHARESPONSE_SIGSENTRY._serialized_options = b'8\001' + _CAPTCHARESPONSE._serialized_start=128 + _CAPTCHARESPONSE._serialized_end=683 + _CAPTCHARESPONSE_SIGSENTRY._serialized_start=640 + _CAPTCHARESPONSE_SIGSENTRY._serialized_end=683 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.pyi new file mode 100644 index 0000000..c63b9b5 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2.pyi @@ -0,0 +1,94 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import google.protobuf.wrappers_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class CaptchaResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class SigsEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str = ..., + value: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + CAPTCHA_SERVICE_FIELD_NUMBER: builtins.int + SUCCESS_FIELD_NUMBER: builtins.int + CHALLENGE_TS_FIELD_NUMBER: builtins.int + ERROR_CODES_FIELD_NUMBER: builtins.int + SIGS_FIELD_NUMBER: builtins.int + SOLVE_TOKEN_FIELD_NUMBER: builtins.int + HOSTNAME_FIELD_NUMBER: builtins.int + SCORE_FIELD_NUMBER: builtins.int + SCORE_REASON_FIELD_NUMBER: builtins.int + SITEKEY_FIELD_NUMBER: builtins.int + SCOPED_UID_0_FIELD_NUMBER: builtins.int + SCOPED_UID_1_FIELD_NUMBER: builtins.int + captcha_service: builtins.str + success: builtins.bool + @property + def challenge_ts(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def error_codes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def sigs(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... + @property + def solve_token(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def hostname(self) -> google.protobuf.wrappers_pb2.StringValue: + """HCaptcha and RECaptcha""" + + @property + def score(self) -> google.protobuf.wrappers_pb2.FloatValue: + """HCaptcha-only fields""" + + @property + def score_reason(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def sitekey(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def scoped_uid_0(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def scoped_uid_1(self) -> google.protobuf.wrappers_pb2.StringValue: ... + def __init__( + self, + *, + captcha_service: builtins.str = ..., + success: builtins.bool = ..., + challenge_ts: google.protobuf.timestamp_pb2.Timestamp | None = ..., + error_codes: collections.abc.Iterable[builtins.str] | None = ..., + sigs: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + solve_token: google.protobuf.wrappers_pb2.StringValue | None = ..., + hostname: google.protobuf.wrappers_pb2.StringValue | None = ..., + score: google.protobuf.wrappers_pb2.FloatValue | None = ..., + score_reason: collections.abc.Iterable[builtins.str] | None = ..., + sitekey: google.protobuf.wrappers_pb2.StringValue | None = ..., + scoped_uid_0: google.protobuf.wrappers_pb2.StringValue | None = ..., + scoped_uid_1: google.protobuf.wrappers_pb2.StringValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["challenge_ts", b"challenge_ts", "hostname", b"hostname", "scoped_uid_0", b"scoped_uid_0", "scoped_uid_1", b"scoped_uid_1", "score", b"score", "sitekey", b"sitekey", "solve_token", b"solve_token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["captcha_service", b"captcha_service", "challenge_ts", b"challenge_ts", "error_codes", b"error_codes", "hostname", b"hostname", "scoped_uid_0", b"scoped_uid_0", "scoped_uid_1", b"scoped_uid_1", "score", b"score", "score_reason", b"score_reason", "sigs", b"sigs", "sitekey", b"sitekey", "solve_token", b"solve_token", "success", b"success"]) -> None: ... + +global___CaptchaResponse = CaptchaResponse diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/captcha_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.py new file mode 100644 index 0000000..acb3b27 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/channel.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#osprey/rpc/actions/v1/channel.proto\x12\x15osprey.rpc.actions.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"%\n\x17PrivateChannelRecipient\x12\n\n\x02id\x18\x01 \x01(\x06\"\x9d\x01\n\x07\x43hannel\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0f\n\x07is_nsfw\x18\x04 \x01(\x08\x12\x15\n\rmessage_count\x18\x05 \x01(\x05\x12\x42\n\nrecipients\x18\x06 \x03(\x0b\x32..osprey.rpc.actions.v1.PrivateChannelRecipientb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.channel_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _PRIVATECHANNELRECIPIENT._serialized_start=127 + _PRIVATECHANNELRECIPIENT._serialized_end=164 + _CHANNEL._serialized_start=167 + _CHANNEL._serialized_end=324 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.pyi new file mode 100644 index 0000000..5d7aa87 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2.pyi @@ -0,0 +1,59 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class PrivateChannelRecipient(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + id: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + +global___PrivateChannelRecipient = PrivateChannelRecipient + +@typing.final +class Channel(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + IS_NSFW_FIELD_NUMBER: builtins.int + MESSAGE_COUNT_FIELD_NUMBER: builtins.int + RECIPIENTS_FIELD_NUMBER: builtins.int + id: builtins.int + name: builtins.str + type: builtins.int + is_nsfw: builtins.bool + message_count: builtins.int + @property + def recipients(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrivateChannelRecipient]: ... + def __init__( + self, + *, + id: builtins.int = ..., + name: builtins.str = ..., + type: builtins.int = ..., + is_nsfw: builtins.bool = ..., + message_count: builtins.int = ..., + recipients: collections.abc.Iterable[global___PrivateChannelRecipient] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id", "is_nsfw", b"is_nsfw", "message_count", b"message_count", "name", b"name", "recipients", b"recipients", "type", b"type"]) -> None: ... + +global___Channel = Channel diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/channel_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.py new file mode 100644 index 0000000..0359e2e --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/guild.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!osprey/rpc/actions/v1/guild.proto\x12\x15osprey.rpc.actions.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc1\x03\n\x05Guild\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x30\n\x05owner\x18\x02 \x01(\x0b\x32!.osprey.rpc.actions.v1.GuildOwner\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\ticon_hash\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0f\n\x07is_nsfw\x18\x06 \x01(\x08\x12\x12\n\nnsfw_level\x18\x07 \x01(\x05\x12\x14\n\x0cmember_count\x18\x08 \x01(\x05\x12\"\n\x1apremium_subscription_count\x18\t \x01(\x05\x12\x10\n\x08\x66\x65\x61tures\x18\n \x03(\t\x12\x18\n\x10has_public_stage\x18\x0b \x01(\x08\x12\x15\n\rchannel_names\x18\x0c \x03(\t\x12\x12\n\nrole_names\x18\r \x03(\t\x12\x1a\n\x12verification_level\x18\x0e \x01(\x05\x12\x36\n\x08template\x18\x0f \x01(\x0b\x32$.osprey.rpc.actions.v1.GuildTemplate\"\x18\n\nGuildOwner\x12\n\n\x02id\x18\x01 \x01(\x06\"\xeb\x01\n\rGuildTemplate\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x12\n\ncreator_id\x18\x04 \x01(\x06\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0fsource_guild_id\x18\x07 \x01(\x06\"t\n\x0bGuildMember\x12\x10\n\x08guild_id\x18\x01 \x01(\x06\x12-\n\tjoined_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0bpermissions\x18\x03 \x01(\x06\x12\x0f\n\x07user_id\x18\x04 \x01(\x06\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.guild_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _GUILD._serialized_start=126 + _GUILD._serialized_end=575 + _GUILDOWNER._serialized_start=577 + _GUILDOWNER._serialized_end=601 + _GUILDTEMPLATE._serialized_start=604 + _GUILDTEMPLATE._serialized_end=839 + _GUILDMEMBER._serialized_start=841 + _GUILDMEMBER._serialized_end=957 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.pyi new file mode 100644 index 0000000..7fd4ed7 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2.pyi @@ -0,0 +1,161 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import google.protobuf.wrappers_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Guild(google.protobuf.message.Message): + """Osprey representation of a guild object""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + OWNER_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + ICON_HASH_FIELD_NUMBER: builtins.int + IS_NSFW_FIELD_NUMBER: builtins.int + NSFW_LEVEL_FIELD_NUMBER: builtins.int + MEMBER_COUNT_FIELD_NUMBER: builtins.int + PREMIUM_SUBSCRIPTION_COUNT_FIELD_NUMBER: builtins.int + FEATURES_FIELD_NUMBER: builtins.int + HAS_PUBLIC_STAGE_FIELD_NUMBER: builtins.int + CHANNEL_NAMES_FIELD_NUMBER: builtins.int + ROLE_NAMES_FIELD_NUMBER: builtins.int + VERIFICATION_LEVEL_FIELD_NUMBER: builtins.int + TEMPLATE_FIELD_NUMBER: builtins.int + id: builtins.int + name: builtins.str + is_nsfw: builtins.bool + nsfw_level: builtins.int + member_count: builtins.int + premium_subscription_count: builtins.int + has_public_stage: builtins.bool + verification_level: builtins.int + @property + def owner(self) -> global___GuildOwner: ... + @property + def description(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def icon_hash(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def channel_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def role_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def template(self) -> global___GuildTemplate: ... + def __init__( + self, + *, + id: builtins.int = ..., + owner: global___GuildOwner | None = ..., + name: builtins.str = ..., + description: google.protobuf.wrappers_pb2.StringValue | None = ..., + icon_hash: google.protobuf.wrappers_pb2.StringValue | None = ..., + is_nsfw: builtins.bool = ..., + nsfw_level: builtins.int = ..., + member_count: builtins.int = ..., + premium_subscription_count: builtins.int = ..., + features: collections.abc.Iterable[builtins.str] | None = ..., + has_public_stage: builtins.bool = ..., + channel_names: collections.abc.Iterable[builtins.str] | None = ..., + role_names: collections.abc.Iterable[builtins.str] | None = ..., + verification_level: builtins.int = ..., + template: global___GuildTemplate | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["description", b"description", "icon_hash", b"icon_hash", "owner", b"owner", "template", b"template"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["channel_names", b"channel_names", "description", b"description", "features", b"features", "has_public_stage", b"has_public_stage", "icon_hash", b"icon_hash", "id", b"id", "is_nsfw", b"is_nsfw", "member_count", b"member_count", "name", b"name", "nsfw_level", b"nsfw_level", "owner", b"owner", "premium_subscription_count", b"premium_subscription_count", "role_names", b"role_names", "template", b"template", "verification_level", b"verification_level"]) -> None: ... + +global___Guild = Guild + +@typing.final +class GuildOwner(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + id: builtins.int + def __init__( + self, + *, + id: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ... + +global___GuildOwner = GuildOwner + +@typing.final +class GuildTemplate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + CREATOR_ID_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int + SOURCE_GUILD_ID_FIELD_NUMBER: builtins.int + code: builtins.str + name: builtins.str + creator_id: builtins.int + source_guild_id: builtins.int + @property + def description(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + code: builtins.str = ..., + name: builtins.str = ..., + description: google.protobuf.wrappers_pb2.StringValue | None = ..., + creator_id: builtins.int = ..., + created_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + source_guild_id: builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["created_at", b"created_at", "description", b"description", "updated_at", b"updated_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "created_at", b"created_at", "creator_id", b"creator_id", "description", b"description", "name", b"name", "source_guild_id", b"source_guild_id", "updated_at", b"updated_at"]) -> None: ... + +global___GuildTemplate = GuildTemplate + +@typing.final +class GuildMember(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GUILD_ID_FIELD_NUMBER: builtins.int + JOINED_AT_FIELD_NUMBER: builtins.int + PERMISSIONS_FIELD_NUMBER: builtins.int + USER_ID_FIELD_NUMBER: builtins.int + guild_id: builtins.int + permissions: builtins.int + """Maybe this should be a 64""" + user_id: builtins.int + @property + def joined_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + guild_id: builtins.int = ..., + joined_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + permissions: builtins.int = ..., + user_id: builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["joined_at", b"joined_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["guild_id", b"guild_id", "joined_at", b"joined_at", "permissions", b"permissions", "user_id", b"user_id"]) -> None: ... + +global___GuildMember = GuildMember diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/guild_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.py new file mode 100644 index 0000000..2d72d95 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/invite.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"osprey/rpc/actions/v1/invite.proto\x12\x15osprey.rpc.actions.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x91\x01\n\x0bGuildInvite\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07max_age\x18\x02 \x01(\x05\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08max_uses\x18\x04 \x01(\x05\x12\x11\n\ttemporary\x18\x05 \x01(\x08\x12\x0e\n\x06\x63ustom\x18\x06 \x01(\x08\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.invite_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _GUILDINVITE._serialized_start=127 + _GUILDINVITE._serialized_end=272 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.pyi new file mode 100644 index 0000000..25e134f --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2.pyi @@ -0,0 +1,44 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class GuildInvite(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODE_FIELD_NUMBER: builtins.int + MAX_AGE_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + MAX_USES_FIELD_NUMBER: builtins.int + TEMPORARY_FIELD_NUMBER: builtins.int + CUSTOM_FIELD_NUMBER: builtins.int + code: builtins.str + max_age: builtins.int + max_uses: builtins.int + temporary: builtins.bool + custom: builtins.bool + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + code: builtins.str = ..., + max_age: builtins.int = ..., + created_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + max_uses: builtins.int = ..., + temporary: builtins.bool = ..., + custom: builtins.bool = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "created_at", b"created_at", "custom", b"custom", "max_age", b"max_age", "max_uses", b"max_uses", "temporary", b"temporary"]) -> None: ... + +global___GuildInvite = GuildInvite diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/invite_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.py new file mode 100644 index 0000000..b006a0e --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/metadata.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$osprey/rpc/actions/v1/metadata.proto\x12\x15osprey.rpc.actions.v1\x1a\x1egoogle/protobuf/wrappers.proto\"\xad\x03\n\x0fHttpRequestData\x12\x44\n\x07headers\x18\x01 \x03(\x0b\x32\x33.osprey.rpc.actions.v1.HttpRequestData.HeadersEntry\x12\x0b\n\x03url\x18\x02 \x01(\t\x12.\n\x08\x65ndpoint\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x0cquery_string\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0e\n\x06method\x18\x05 \x01(\t\x12\x30\n\x0b\x61pi_version\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x31\n\x0bremote_addr\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12>\n\x1aremote_addr_is_whitelisted\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xdc\x06\n\nProperties\x12(\n\x02os\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\nos_version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07\x62rowser\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0f\x62rowser_version\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x12\x62rowser_user_agent\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x64\x65vice\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08referrer\x18\x07 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10referring_domain\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x35\n\x0frelease_channel\x18\t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x34\n\x0e\x63lient_version\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x38\n\x13\x63lient_build_number\x18\x0b \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12.\n\x08location\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rsystem_locale\x18\r \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x33\n\rchosen_locale\x18\x0e \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x10\x64\x65vice_vendor_id\x18\x0f \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x63\x66\x64uid\x18\x10 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x15\n\rcfduid_signed\x18\x11 \x01(\x08\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.metadata_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _HTTPREQUESTDATA_HEADERSENTRY._options = None + _HTTPREQUESTDATA_HEADERSENTRY._serialized_options = b'8\001' + _HTTPREQUESTDATA._serialized_start=96 + _HTTPREQUESTDATA._serialized_end=525 + _HTTPREQUESTDATA_HEADERSENTRY._serialized_start=479 + _HTTPREQUESTDATA_HEADERSENTRY._serialized_end=525 + _PROPERTIES._serialized_start=528 + _PROPERTIES._serialized_end=1388 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.pyi new file mode 100644 index 0000000..6303303 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2.pyi @@ -0,0 +1,153 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import google.protobuf.wrappers_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class HttpRequestData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HeadersEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str = ..., + value: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + HEADERS_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + ENDPOINT_FIELD_NUMBER: builtins.int + QUERY_STRING_FIELD_NUMBER: builtins.int + METHOD_FIELD_NUMBER: builtins.int + API_VERSION_FIELD_NUMBER: builtins.int + REMOTE_ADDR_FIELD_NUMBER: builtins.int + REMOTE_ADDR_IS_WHITELISTED_FIELD_NUMBER: builtins.int + url: builtins.str + method: builtins.str + @property + def headers(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ... + @property + def endpoint(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def query_string(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def api_version(self) -> google.protobuf.wrappers_pb2.Int32Value: ... + @property + def remote_addr(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def remote_addr_is_whitelisted(self) -> google.protobuf.wrappers_pb2.BoolValue: ... + def __init__( + self, + *, + headers: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + url: builtins.str = ..., + endpoint: google.protobuf.wrappers_pb2.StringValue | None = ..., + query_string: google.protobuf.wrappers_pb2.StringValue | None = ..., + method: builtins.str = ..., + api_version: google.protobuf.wrappers_pb2.Int32Value | None = ..., + remote_addr: google.protobuf.wrappers_pb2.StringValue | None = ..., + remote_addr_is_whitelisted: google.protobuf.wrappers_pb2.BoolValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["api_version", b"api_version", "endpoint", b"endpoint", "query_string", b"query_string", "remote_addr", b"remote_addr", "remote_addr_is_whitelisted", b"remote_addr_is_whitelisted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["api_version", b"api_version", "endpoint", b"endpoint", "headers", b"headers", "method", b"method", "query_string", b"query_string", "remote_addr", b"remote_addr", "remote_addr_is_whitelisted", b"remote_addr_is_whitelisted", "url", b"url"]) -> None: ... + +global___HttpRequestData = HttpRequestData + +@typing.final +class Properties(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OS_FIELD_NUMBER: builtins.int + OS_VERSION_FIELD_NUMBER: builtins.int + BROWSER_FIELD_NUMBER: builtins.int + BROWSER_VERSION_FIELD_NUMBER: builtins.int + BROWSER_USER_AGENT_FIELD_NUMBER: builtins.int + DEVICE_FIELD_NUMBER: builtins.int + REFERRER_FIELD_NUMBER: builtins.int + REFERRING_DOMAIN_FIELD_NUMBER: builtins.int + RELEASE_CHANNEL_FIELD_NUMBER: builtins.int + CLIENT_VERSION_FIELD_NUMBER: builtins.int + CLIENT_BUILD_NUMBER_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + SYSTEM_LOCALE_FIELD_NUMBER: builtins.int + CHOSEN_LOCALE_FIELD_NUMBER: builtins.int + DEVICE_VENDOR_ID_FIELD_NUMBER: builtins.int + CFDUID_FIELD_NUMBER: builtins.int + CFDUID_SIGNED_FIELD_NUMBER: builtins.int + cfduid_signed: builtins.bool + @property + def os(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def os_version(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def browser(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def browser_version(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def browser_user_agent(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def device(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def referrer(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def referring_domain(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def release_channel(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def client_version(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def client_build_number(self) -> google.protobuf.wrappers_pb2.Int64Value: ... + @property + def location(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def system_locale(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def chosen_locale(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def device_vendor_id(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def cfduid(self) -> google.protobuf.wrappers_pb2.StringValue: ... + def __init__( + self, + *, + os: google.protobuf.wrappers_pb2.StringValue | None = ..., + os_version: google.protobuf.wrappers_pb2.StringValue | None = ..., + browser: google.protobuf.wrappers_pb2.StringValue | None = ..., + browser_version: google.protobuf.wrappers_pb2.StringValue | None = ..., + browser_user_agent: google.protobuf.wrappers_pb2.StringValue | None = ..., + device: google.protobuf.wrappers_pb2.StringValue | None = ..., + referrer: google.protobuf.wrappers_pb2.StringValue | None = ..., + referring_domain: google.protobuf.wrappers_pb2.StringValue | None = ..., + release_channel: google.protobuf.wrappers_pb2.StringValue | None = ..., + client_version: google.protobuf.wrappers_pb2.StringValue | None = ..., + client_build_number: google.protobuf.wrappers_pb2.Int64Value | None = ..., + location: google.protobuf.wrappers_pb2.StringValue | None = ..., + system_locale: google.protobuf.wrappers_pb2.StringValue | None = ..., + chosen_locale: google.protobuf.wrappers_pb2.StringValue | None = ..., + device_vendor_id: google.protobuf.wrappers_pb2.StringValue | None = ..., + cfduid: google.protobuf.wrappers_pb2.StringValue | None = ..., + cfduid_signed: builtins.bool = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["browser", b"browser", "browser_user_agent", b"browser_user_agent", "browser_version", b"browser_version", "cfduid", b"cfduid", "chosen_locale", b"chosen_locale", "client_build_number", b"client_build_number", "client_version", b"client_version", "device", b"device", "device_vendor_id", b"device_vendor_id", "location", b"location", "os", b"os", "os_version", b"os_version", "referrer", b"referrer", "referring_domain", b"referring_domain", "release_channel", b"release_channel", "system_locale", b"system_locale"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["browser", b"browser", "browser_user_agent", b"browser_user_agent", "browser_version", b"browser_version", "cfduid", b"cfduid", "cfduid_signed", b"cfduid_signed", "chosen_locale", b"chosen_locale", "client_build_number", b"client_build_number", "client_version", b"client_version", "device", b"device", "device_vendor_id", b"device_vendor_id", "location", b"location", "os", b"os", "os_version", b"os_version", "referrer", b"referrer", "referring_domain", b"referring_domain", "release_channel", b"release_channel", "system_locale", b"system_locale"]) -> None: ... + +global___Properties = Properties diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/metadata_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.py b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.py new file mode 100644 index 0000000..b835cf1 --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: osprey/rpc/actions/v1/user.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n osprey/rpc/actions/v1/user.proto\x12\x15osprey.rpc.actions.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc1\x05\n\x04User\x12\n\n\x02id\x18\x01 \x01(\x06\x12\x13\n\x0bmfa_enabled\x18\x02 \x01(\x08\x12\x0b\n\x03\x62ot\x18\x03 \x01(\x08\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x15\n\rdiscriminator\x18\x05 \x01(\t\x12+\n\x05\x65mail\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x16\n\x0e\x65mail_verified\x18\x07 \x01(\x08\x12+\n\x05phone\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06\x61vatar\x18\t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x0b\n\x03\x62io\x18\x0b \x01(\t\x12(\n\x02ip\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x19\n\x11ip_is_whitelisted\x18\r \x01(\x08\x12\x32\n\x0cpremium_type\x18\x0e \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x31\n\rpremium_until\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x66lags\x18\x10 \x01(\x06\x12\x14\n\x0cpublic_flags\x18\x11 \x01(\x06\x12!\n\x19suspicious_activity_flags\x18\x12 \x01(\x05\x12\x35\n\x0frequired_action\x18\x13 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1a\n\x12is_unique_username\x18\x14 \x01(\x08\x12\x31\n\x0bglobal_name\x18\x15 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\thub_email\x18\x16 \x01(\x0b\x32\x1c.google.protobuf.StringValueJ\x04\x08\n\x10\x0bJ\x04\x08\x17\x10\x18\x62\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.actions.v1.user_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _USER._serialized_start=125 + _USER._serialized_end=830 +# @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.pyi b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.pyi new file mode 100644 index 0000000..696295b --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2.pyi @@ -0,0 +1,100 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import google.protobuf.timestamp_pb2 +import google.protobuf.wrappers_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class User(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + MFA_ENABLED_FIELD_NUMBER: builtins.int + BOT_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + DISCRIMINATOR_FIELD_NUMBER: builtins.int + EMAIL_FIELD_NUMBER: builtins.int + EMAIL_VERIFIED_FIELD_NUMBER: builtins.int + PHONE_FIELD_NUMBER: builtins.int + AVATAR_FIELD_NUMBER: builtins.int + BIO_FIELD_NUMBER: builtins.int + IP_FIELD_NUMBER: builtins.int + IP_IS_WHITELISTED_FIELD_NUMBER: builtins.int + PREMIUM_TYPE_FIELD_NUMBER: builtins.int + PREMIUM_UNTIL_FIELD_NUMBER: builtins.int + FLAGS_FIELD_NUMBER: builtins.int + PUBLIC_FLAGS_FIELD_NUMBER: builtins.int + SUSPICIOUS_ACTIVITY_FLAGS_FIELD_NUMBER: builtins.int + REQUIRED_ACTION_FIELD_NUMBER: builtins.int + IS_UNIQUE_USERNAME_FIELD_NUMBER: builtins.int + GLOBAL_NAME_FIELD_NUMBER: builtins.int + HUB_EMAIL_FIELD_NUMBER: builtins.int + id: builtins.int + mfa_enabled: builtins.bool + bot: builtins.bool + username: builtins.str + discriminator: builtins.str + email_verified: builtins.bool + bio: builtins.str + ip_is_whitelisted: builtins.bool + flags: builtins.int + public_flags: builtins.int + suspicious_activity_flags: builtins.int + is_unique_username: builtins.bool + @property + def email(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def phone(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def avatar(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def ip(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def premium_type(self) -> google.protobuf.wrappers_pb2.UInt32Value: ... + @property + def premium_until(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + @property + def required_action(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def global_name(self) -> google.protobuf.wrappers_pb2.StringValue: ... + @property + def hub_email(self) -> google.protobuf.wrappers_pb2.StringValue: + """Used by guild automation GUILD_JOINED event""" + + def __init__( + self, + *, + id: builtins.int = ..., + mfa_enabled: builtins.bool = ..., + bot: builtins.bool = ..., + username: builtins.str = ..., + discriminator: builtins.str = ..., + email: google.protobuf.wrappers_pb2.StringValue | None = ..., + email_verified: builtins.bool = ..., + phone: google.protobuf.wrappers_pb2.StringValue | None = ..., + avatar: google.protobuf.wrappers_pb2.StringValue | None = ..., + bio: builtins.str = ..., + ip: google.protobuf.wrappers_pb2.StringValue | None = ..., + ip_is_whitelisted: builtins.bool = ..., + premium_type: google.protobuf.wrappers_pb2.UInt32Value | None = ..., + premium_until: google.protobuf.timestamp_pb2.Timestamp | None = ..., + flags: builtins.int = ..., + public_flags: builtins.int = ..., + suspicious_activity_flags: builtins.int = ..., + required_action: google.protobuf.wrappers_pb2.StringValue | None = ..., + is_unique_username: builtins.bool = ..., + global_name: google.protobuf.wrappers_pb2.StringValue | None = ..., + hub_email: google.protobuf.wrappers_pb2.StringValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["avatar", b"avatar", "email", b"email", "global_name", b"global_name", "hub_email", b"hub_email", "ip", b"ip", "phone", b"phone", "premium_type", b"premium_type", "premium_until", b"premium_until", "required_action", b"required_action"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["avatar", b"avatar", "bio", b"bio", "bot", b"bot", "discriminator", b"discriminator", "email", b"email", "email_verified", b"email_verified", "flags", b"flags", "global_name", b"global_name", "hub_email", b"hub_email", "id", b"id", "ip", b"ip", "ip_is_whitelisted", b"ip_is_whitelisted", "is_unique_username", b"is_unique_username", "mfa_enabled", b"mfa_enabled", "phone", b"phone", "premium_type", b"premium_type", "premium_until", b"premium_until", "public_flags", b"public_flags", "required_action", b"required_action", "suspicious_activity_flags", b"suspicious_activity_flags", "username", b"username"]) -> None: ... + +global___User = User diff --git a/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2_grpc.py new file mode 100644 index 0000000..2daafff --- /dev/null +++ b/osprey_rpc/src/osprey/rpc/actions/v1/user_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/osprey_rpc/src/osprey/rpc/common/v1/execution_result_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/common/v1/execution_result_pb2_grpc.py index 8a93939..2daafff 100644 --- a/osprey_rpc/src/osprey/rpc/common/v1/execution_result_pb2_grpc.py +++ b/osprey_rpc/src/osprey/rpc/common/v1/execution_result_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc + diff --git a/osprey_rpc/src/osprey/rpc/common/v1/take_data_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/common/v1/take_data_pb2_grpc.py index 8a93939..2daafff 100644 --- a/osprey_rpc/src/osprey/rpc/common/v1/take_data_pb2_grpc.py +++ b/osprey_rpc/src/osprey/rpc/common/v1/take_data_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc + diff --git a/osprey_rpc/src/osprey/rpc/common/v1/verdicts_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/common/v1/verdicts_pb2_grpc.py index 8a93939..2daafff 100644 --- a/osprey_rpc/src/osprey/rpc/common/v1/verdicts_pb2_grpc.py +++ b/osprey_rpc/src/osprey/rpc/common/v1/verdicts_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc + diff --git a/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.py b/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.py index 1e743a9..d231dc4 100644 --- a/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.py +++ b/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.py @@ -12,22 +12,21 @@ _sym_db = _symbol_database.Default() from osprey.rpc.common.v1 import verdicts_pb2 as osprey_dot_rpc_dot_common_dot_v1_dot_verdicts__pb2 -from osprey.rpc.labels.v1 import service_pb2 as osprey_dot_rpc_dot_labels_dot_v1_dot_service__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:osprey/rpc/osprey_coordinator/sync_action/v1/service.proto\x12,osprey.rpc.osprey_coordinator.sync_action.v1\x1a#osprey/rpc/common/v1/verdicts.proto\x1a\"osprey/rpc/labels/v1/service.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xe2\x01\n\x14ProcessActionRequest\x12/\n\taction_id\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12\x13\n\x0b\x61\x63tion_name\x18\x02 \x01(\t\x12\x18\n\x10\x61\x63tion_data_json\x18\x03 \x01(\t\x12;\n\x12requested_entities\x18\x04 \x03(\x0b\x32\x1f.osprey.rpc.labels.v1.EntityKey\x12-\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"y\n\x15ProcessActionResponse\x12.\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x1c.osprey.rpc.labels.v1.Entity\x12\x30\n\x08verdicts\x18\x02 \x01(\x0b\x32\x1e.osprey.rpc.common.v1.Verdicts2\xbf\x01\n\"OspreyCoordinatorSyncActionService\x12\x98\x01\n\rProcessAction\x12\x42.osprey.rpc.osprey_coordinator.sync_action.v1.ProcessActionRequest\x1a\x43.osprey.rpc.osprey_coordinator.sync_action.v1.ProcessActionResponseb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:osprey/rpc/osprey_coordinator/sync_action/v1/service.proto\x12,osprey.rpc.osprey_coordinator.sync_action.v1\x1a#osprey/rpc/common/v1/verdicts.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xa5\x01\n\x14ProcessActionRequest\x12/\n\taction_id\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12\x13\n\x0b\x61\x63tion_name\x18\x02 \x01(\t\x12\x18\n\x10\x61\x63tion_data_json\x18\x03 \x01(\t\x12-\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"I\n\x15ProcessActionResponse\x12\x30\n\x08verdicts\x18\x02 \x01(\x0b\x32\x1e.osprey.rpc.common.v1.Verdicts2\xbf\x01\n\"OspreyCoordinatorSyncActionService\x12\x98\x01\n\rProcessAction\x12\x42.osprey.rpc.osprey_coordinator.sync_action.v1.ProcessActionRequest\x1a\x43.osprey.rpc.osprey_coordinator.sync_action.v1.ProcessActionResponseb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'osprey.rpc.osprey_coordinator.sync_action.v1.service_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _PROCESSACTIONREQUEST._serialized_start=247 - _PROCESSACTIONREQUEST._serialized_end=473 - _PROCESSACTIONRESPONSE._serialized_start=475 - _PROCESSACTIONRESPONSE._serialized_end=596 - _OSPREYCOORDINATORSYNCACTIONSERVICE._serialized_start=599 - _OSPREYCOORDINATORSYNCACTIONSERVICE._serialized_end=790 + _PROCESSACTIONREQUEST._serialized_start=211 + _PROCESSACTIONREQUEST._serialized_end=376 + _PROCESSACTIONRESPONSE._serialized_start=378 + _PROCESSACTIONRESPONSE._serialized_end=451 + _OSPREYCOORDINATORSYNCACTIONSERVICE._serialized_start=454 + _OSPREYCOORDINATORSYNCACTIONSERVICE._serialized_end=645 # @@protoc_insertion_point(module_scope) diff --git a/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.pyi b/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.pyi index a4d1c93..c04656d 100644 --- a/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.pyi +++ b/osprey_rpc/src/osprey/rpc/osprey_coordinator/sync_action/v1/service_pb2.pyi @@ -4,14 +4,11 @@ isort:skip_file """ import builtins -import collections.abc import google.protobuf.descriptor -import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.timestamp_pb2 import google.protobuf.wrappers_pb2 import osprey.rpc.common.v1.verdicts_pb2 -import osprey.rpc.labels.v1.service_pb2 import typing DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @@ -23,16 +20,11 @@ class ProcessActionRequest(google.protobuf.message.Message): ACTION_ID_FIELD_NUMBER: builtins.int ACTION_NAME_FIELD_NUMBER: builtins.int ACTION_DATA_JSON_FIELD_NUMBER: builtins.int - REQUESTED_ENTITIES_FIELD_NUMBER: builtins.int TIMESTAMP_FIELD_NUMBER: builtins.int action_name: builtins.str action_data_json: builtins.str @property def action_id(self) -> google.protobuf.wrappers_pb2.UInt64Value: ... - @property - def requested_entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osprey.rpc.labels.v1.service_pb2.EntityKey]: - """DEPRECATED: to be removed once labels are replaced with verdicts""" - @property def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ... def __init__( @@ -41,11 +33,10 @@ class ProcessActionRequest(google.protobuf.message.Message): action_id: google.protobuf.wrappers_pb2.UInt64Value | None = ..., action_name: builtins.str = ..., action_data_json: builtins.str = ..., - requested_entities: collections.abc.Iterable[osprey.rpc.labels.v1.service_pb2.EntityKey] | None = ..., timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["action_id", b"action_id", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["action_data_json", b"action_data_json", "action_id", b"action_id", "action_name", b"action_name", "requested_entities", b"requested_entities", "timestamp", b"timestamp"]) -> None: ... + def ClearField(self, field_name: typing.Literal["action_data_json", b"action_data_json", "action_id", b"action_id", "action_name", b"action_name", "timestamp", b"timestamp"]) -> None: ... global___ProcessActionRequest = ProcessActionRequest @@ -53,23 +44,15 @@ global___ProcessActionRequest = ProcessActionRequest class ProcessActionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - ENTITIES_FIELD_NUMBER: builtins.int VERDICTS_FIELD_NUMBER: builtins.int @property - def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osprey.rpc.labels.v1.service_pb2.Entity]: - """DEPRECATED: to be removed once labels are replaced with verdicts""" - - @property - def verdicts(self) -> osprey.rpc.common.v1.verdicts_pb2.Verdicts: - """""" - + def verdicts(self) -> osprey.rpc.common.v1.verdicts_pb2.Verdicts: ... def __init__( self, *, - entities: collections.abc.Iterable[osprey.rpc.labels.v1.service_pb2.Entity] | None = ..., verdicts: osprey.rpc.common.v1.verdicts_pb2.Verdicts | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["verdicts", b"verdicts"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["entities", b"entities", "verdicts", b"verdicts"]) -> None: ... + def ClearField(self, field_name: typing.Literal["verdicts", b"verdicts"]) -> None: ... global___ProcessActionResponse = ProcessActionResponse diff --git a/osprey_rpc/src/osprey/rpc/pigeon/v1/options_pb2_grpc.py b/osprey_rpc/src/osprey/rpc/pigeon/v1/options_pb2_grpc.py index 8a93939..2daafff 100644 --- a/osprey_rpc/src/osprey/rpc/pigeon/v1/options_pb2_grpc.py +++ b/osprey_rpc/src/osprey/rpc/pigeon/v1/options_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! """Client and server classes corresponding to protobuf-defined services.""" import grpc + diff --git a/uv.lock b/uv.lock index ddc5e32..1620535 100644 --- a/uv.lock +++ b/uv.lock @@ -2,15 +2,18 @@ version = 1 revision = 3 requires-python = ">=3.11" resolution-markers = [ - "python_full_version >= '3.14' and platform_machine == 'x86_64'", + "python_full_version >= '4' and platform_machine == 'x86_64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine == 'x86_64'", "python_full_version == '3.13.*' and platform_machine == 'x86_64'", "python_full_version == '3.12.*' and platform_machine == 'x86_64'", "python_full_version < '3.12' and platform_machine == 'x86_64'", - "python_full_version >= '3.14' and platform_machine == 'aarch64'", + "python_full_version >= '4' and platform_machine == 'aarch64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine == 'aarch64'", "python_full_version == '3.13.*' and platform_machine == 'aarch64'", "python_full_version == '3.12.*' and platform_machine == 'aarch64'", "python_full_version < '3.12' and platform_machine == 'aarch64'", - "python_full_version >= '3.14' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", + "python_full_version >= '4' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version == '3.13.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version < '3.12' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", @@ -220,57 +223,19 @@ name = "argon2-cffi" version = "25.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "argon2-cffi-bindings", version = "21.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" }, - { name = "argon2-cffi-bindings", version = "25.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, + { name = "argon2-cffi-bindings" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, ] -[[package]] -name = "argon2-cffi-bindings" -version = "21.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.14' and platform_machine == 'x86_64'", - "python_full_version >= '3.14' and platform_machine == 'aarch64'", - "python_full_version >= '3.14' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", -] -dependencies = [ - { name = "cffi", marker = "python_full_version >= '3.14'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911, upload-time = "2021-12-01T08:52:55.68Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658, upload-time = "2021-12-01T09:09:17.016Z" }, - { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583, upload-time = "2021-12-01T09:09:19.546Z" }, - { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168, upload-time = "2021-12-01T09:09:21.445Z" }, - { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709, upload-time = "2021-12-01T09:09:18.182Z" }, - { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613, upload-time = "2021-12-01T09:09:22.741Z" }, - { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583, upload-time = "2021-12-01T09:09:24.177Z" }, - { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475, upload-time = "2021-12-01T09:09:26.673Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698, upload-time = "2021-12-01T09:09:27.87Z" }, - { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817, upload-time = "2021-12-01T09:09:30.267Z" }, - { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104, upload-time = "2021-12-01T09:09:31.335Z" }, -] - [[package]] name = "argon2-cffi-bindings" version = "25.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.13.*' and platform_machine == 'x86_64'", - "python_full_version == '3.12.*' and platform_machine == 'x86_64'", - "python_full_version < '3.12' and platform_machine == 'x86_64'", - "python_full_version == '3.13.*' and platform_machine == 'aarch64'", - "python_full_version == '3.12.*' and platform_machine == 'aarch64'", - "python_full_version < '3.12' and platform_machine == 'aarch64'", - "python_full_version == '3.13.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", - "python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", - "python_full_version < '3.12' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", -] dependencies = [ - { name = "cffi", marker = "python_full_version < '3.14'" }, + { name = "cffi" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } wheels = [ @@ -343,56 +308,81 @@ wheels = [ [[package]] name = "cffi" -version = "1.17.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pycparser" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, - { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, - { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, - { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, - { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, - { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, - { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, - { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, - { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, ] [[package]] name = "cfgv" -version = "3.4.0" +version = "3.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", size = 7334, upload-time = "2025-11-19T20:55:51.612Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, + { url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", size = 7445, upload-time = "2025-11-19T20:55:50.744Z" }, ] [[package]] @@ -475,7 +465,7 @@ wheels = [ [[package]] name = "ddtrace" -version = "2.21.11" +version = "2.21.12" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "bytecode" }, @@ -487,36 +477,36 @@ dependencies = [ { name = "wrapt" }, { name = "xmltodict" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3c/e0/d851fc7cb3451bb8d4a0a1865ed37f5a53b80c8b9620dfe02cb1f870a73a/ddtrace-2.21.11.tar.gz", hash = "sha256:02934d38dd668bee51344230c6d041111e64575b2a648a738b23f11da7092f74", size = 9402225, upload-time = "2025-07-28T14:46:46.666Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/56/edcd3125ba5ece37e80a58a13715c843c56317cdc64c6e4da0fefbf07443/ddtrace-2.21.11-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:43804a76500da168b07c12db336ceeab2fa6aa2f92c6563a3daf9cc8cf567d25", size = 4829606, upload-time = "2025-07-28T14:44:23.143Z" }, - { url = "https://files.pythonhosted.org/packages/57/de/7fbd859e1a7eeb9ffec5ac1d4c28bec60f19f011b1218dcd5ef51a823a6a/ddtrace-2.21.11-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:d2fc589c7eaabcecda9906aca4018ee3b20712ff9b9b1a3a42816073c25be44b", size = 3279953, upload-time = "2025-07-28T14:44:24.643Z" }, - { url = "https://files.pythonhosted.org/packages/16/f8/56bf7fc3773412efa40d4834db7d14beefee5312b83e7c20da1f3f8cc22f/ddtrace-2.21.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75f03ebd0fb019be12f5c7132ed9602404e4daf56cface634af657646d2765af", size = 6076742, upload-time = "2025-07-28T14:44:26.121Z" }, - { url = "https://files.pythonhosted.org/packages/8a/c3/f4bd12fdb22b15c661375e2bb1af2e931221e0b706d277fd6c0e15805e9b/ddtrace-2.21.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19c808ebc1136b093abfeac26e1e79f12bf60679ed04c110c50801cd4ddd29e0", size = 2839062, upload-time = "2025-07-28T14:44:27.64Z" }, - { url = "https://files.pythonhosted.org/packages/27/6d/c7175a255ad7f1b331c1ea7946632e73621da51cbabe663a002485aa07fa/ddtrace-2.21.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3660dcbf912f696291b6c4b46e793e0960e57160e1be3b4b9192696a1cf26382", size = 6397801, upload-time = "2025-07-28T14:44:29.637Z" }, - { url = "https://files.pythonhosted.org/packages/8f/13/ad36a51c396a8e83ce63f9857d531e69edbdfed0e99c35fb50229ba960c9/ddtrace-2.21.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:860a459d5aba99c9cba037f6aba11a6a0683d0c5b723a8d0bd180c996b0e682d", size = 7066016, upload-time = "2025-07-28T14:44:31.327Z" }, - { url = "https://files.pythonhosted.org/packages/2e/94/213d0ffa1671f3d4f7c99e04b8d7248827bf15571d748c11c4eb960c2263/ddtrace-2.21.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a4507a61d8d24e10c950b6462f0069e6f143662e052bd5821985bf7631fe9370", size = 3907862, upload-time = "2025-07-28T14:44:34.904Z" }, - { url = "https://files.pythonhosted.org/packages/b4/1b/b4091e6399fcad3f9d3ab28528c8a538b7a808be08a8f0322fe2a3896235/ddtrace-2.21.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8e907b9e39a373876948a4c8f4ef232892f433a6a156fe52492eb16bf15a87e0", size = 7442311, upload-time = "2025-07-28T14:44:36.737Z" }, - { url = "https://files.pythonhosted.org/packages/7d/8c/ae6a1aadb875197534b2eb84b476b0b5ce9831e3090382ef668860a8bdc5/ddtrace-2.21.11-cp311-cp311-win32.whl", hash = "sha256:fc1b6566ea978dd074d7074c14b20b719f6be9307743654105e8ce8af71b9bc4", size = 3101347, upload-time = "2025-07-28T14:44:38.969Z" }, - { url = "https://files.pythonhosted.org/packages/c9/a2/bf86e6dd6474da0c1aedd9bc8724374c4639d584c50858bc7d284adf9548/ddtrace-2.21.11-cp311-cp311-win_amd64.whl", hash = "sha256:b7b907fa9ba16ffc07b4a82c06842883fa54aa3e71df70d56dbd44b26ec58d97", size = 3346192, upload-time = "2025-07-28T14:44:41.689Z" }, - { url = "https://files.pythonhosted.org/packages/73/f9/14eb5f2bc4aad15cb079dd7926f835cc39b12dd5bb6d8f7047e6fea198b2/ddtrace-2.21.11-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:cf4beb6153699640af7625a88add06651e0b018ddd553af335ed5e2f0ed43316", size = 4818939, upload-time = "2025-07-28T14:44:43.459Z" }, - { url = "https://files.pythonhosted.org/packages/e9/ab/f93033163640f2782cb173730cb86d13a2f7050435ee28ba941b334811e5/ddtrace-2.21.11-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:0fe8d46550cee149ef0e4c1bf84548c3bb3d6b1a2afb853581ccb3a0da77417f", size = 3274473, upload-time = "2025-07-28T14:44:45.635Z" }, - { url = "https://files.pythonhosted.org/packages/35/38/dd651449d2eed007710f0a3b36f967b72b88fb29d9dfcca128c5a76ed1e2/ddtrace-2.21.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffff663bdb047b2fedca4c1d1fc16a1c06c33815dff2018dc24d6f4be3df12b1", size = 6045795, upload-time = "2025-07-28T14:44:47.96Z" }, - { url = "https://files.pythonhosted.org/packages/da/87/8725abb9259fb1739ffd351f23f516c75888d10a2d70029a7d7f0d2feacb/ddtrace-2.21.11-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:901998bb5112e7a413cf52e6e5464eb48cbdf7795a7154b8dc9cbac555a20214", size = 2803649, upload-time = "2025-07-28T14:44:50.187Z" }, - { url = "https://files.pythonhosted.org/packages/ef/78/b62e49fa74b42780f11b7319183a861cbbf28e8555c310bdb927bcee3f9f/ddtrace-2.21.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4acc8e929083520c462389c5c671861ca3bf82f82a53a19232e198fea1868ad5", size = 6368952, upload-time = "2025-07-28T14:44:52.028Z" }, - { url = "https://files.pythonhosted.org/packages/98/e1/36d0889dde7d69e68cb780468125d1df724a5107c55cce6552d95ba2a4db/ddtrace-2.21.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:864afc8852b3bc0c853bf02fd1d94c59eb69f4617bb68f26cd26d6a8798ce299", size = 7029869, upload-time = "2025-07-28T14:44:54.034Z" }, - { url = "https://files.pythonhosted.org/packages/e4/6c/0a1f1faae4d3c90bb1e8b7b7020842102fdeb3ee2275c823c840c06d538f/ddtrace-2.21.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b009a21e6c1762bcdc9241e545b0b89801a36b3ef06eabf1df9f9fe7b7a0fb0e", size = 3866805, upload-time = "2025-07-28T14:44:56.191Z" }, - { url = "https://files.pythonhosted.org/packages/20/f7/cbdc39b17d2401deab9eeb8436bc33c8611b1a66c860ba472ae9b72495c8/ddtrace-2.21.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:75a7e4142734cab95ce3582382f8ee9e3aa9b0afb56530d5dee951effbcb745b", size = 7408960, upload-time = "2025-07-28T14:44:58.149Z" }, - { url = "https://files.pythonhosted.org/packages/5f/2b/1610679ff4a4aa11274e54eb0b1fd725e8fc07b4c6661e2d3b5d3d62087e/ddtrace-2.21.11-cp312-cp312-win32.whl", hash = "sha256:68b0492225b9d64acf390ba98e032d93d5826f2feee82a24f5ea5374e9f95b44", size = 3089855, upload-time = "2025-07-28T14:45:00.349Z" }, - { url = "https://files.pythonhosted.org/packages/c1/ab/43bb72e8b7f8f5ccb6ae689d44710c7f77931a489db0f1a66f35673b734e/ddtrace-2.21.11-cp312-cp312-win_amd64.whl", hash = "sha256:4fba7b6b1fa699a0d8be2219093b06be96e97f5a62d6a475288cea0ee5114c4d", size = 3330661, upload-time = "2025-07-28T14:45:02.383Z" }, - { url = "https://files.pythonhosted.org/packages/a5/eb/193609c83c911e1265474fca229d034e84dac693172df0e8496935c06c00/ddtrace-2.21.11-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:15df1b7c7f85b58bdec73fed355f4cc6d2fb4eaa9f953f01c7d568a019d80e7e", size = 4804125, upload-time = "2025-07-28T14:45:04.559Z" }, - { url = "https://files.pythonhosted.org/packages/48/43/20f460d41bb63f9b9f138e604901d374b22847d798ab83a2dd9098638e1a/ddtrace-2.21.11-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:c440fb4af9a9405ff4b8bd8c062f07b1ce8fd9891b065462f8f225a8fc37b314", size = 3267345, upload-time = "2025-07-28T14:45:06.991Z" }, - { url = "https://files.pythonhosted.org/packages/c7/ad/9f157136b5cb1c419ca291e9db0cdec7c5426034225790410d2bfc18f4ac/ddtrace-2.21.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b1e41b50f04879212162b97d60a9242fd23f8ce38b70842afcf25a81c01414", size = 6002573, upload-time = "2025-07-28T14:45:10.596Z" }, - { url = "https://files.pythonhosted.org/packages/d4/4a/8b3ae701908e7f31c4064f7101dd825ae8b73a4b756660b27323b963077b/ddtrace-2.21.11-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:287c06a0c4297aab5e0c34e1f160efdddab9262dd481ad30bf6593c680e6d7fd", size = 2798519, upload-time = "2025-07-28T14:45:12.739Z" }, - { url = "https://files.pythonhosted.org/packages/a9/3a/c14211b02962b68a054ea6fe60a1dad66f7e4e6dcac747e72a0569ad1f52/ddtrace-2.21.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fcc68d5c9a70e457ce5a0e6832c31733454af3e3d878164d407e98c1e0dc64d", size = 6327367, upload-time = "2025-07-28T14:45:14.822Z" }, - { url = "https://files.pythonhosted.org/packages/c1/a3/f886cf0e15a4fc30f2f79e95fccdab91c24514952d5169fe9571258c4fc4/ddtrace-2.21.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ce4383d2498f18f19680fe26888cd0dc0e1fff9f4e4dfb9442fc76b5088512e4", size = 6986687, upload-time = "2025-07-28T14:45:17.052Z" }, - { url = "https://files.pythonhosted.org/packages/df/0d/6fc174e31c9c3d07137895af240f0dbfe8bb72bc541c32a3478ba658e944/ddtrace-2.21.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e77cacb4c579178b5ba6035df4c9a5131c2bdce10fbf7728da118aec9c59cd39", size = 3865026, upload-time = "2025-07-28T14:45:19.871Z" }, - { url = "https://files.pythonhosted.org/packages/f8/dd/fc67377b19f903a8e3aea770305a27a8ca4d69e6c8064c9f6a78c9a15523/ddtrace-2.21.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a82788734043dcf90fa7e904a212781fced9c5c2d06852fe19968eeb2a6d9c11", size = 7366822, upload-time = "2025-07-28T14:45:22.066Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/bf/b8/60762d73e919c05165717a0a185b9e3401b3049ed3de6f45867b86efc419/ddtrace-2.21.12.tar.gz", hash = "sha256:a37e948be2f9821ef8782697252c7e937edf0c847dda3f7e12a94f47ba6442a2", size = 9404597, upload-time = "2025-10-24T09:14:44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/8f/c3c10fb734141035aa494580bbf4facb21e9cffab41a1ebeae33c0a11647/ddtrace-2.21.12-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:e2b2c98f8ebaeeb393e2f24f96e0ddb12777df67dfcbbd35020646582c37ab9a", size = 4819930, upload-time = "2025-10-24T09:12:10.88Z" }, + { url = "https://files.pythonhosted.org/packages/a8/21/3ff7ebb9a58a4aa9897db9ef15f413873b5d4f0feb9276b09275ad34ddef/ddtrace-2.21.12-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:2cb3cdcaffb1eb18a83f67e087e9929c6660bb22c294c9d716427a595a123b0f", size = 3275998, upload-time = "2025-10-24T09:12:12.689Z" }, + { url = "https://files.pythonhosted.org/packages/1d/f4/7ea150e228d274e4ec35e1ce6acb2012149e15aabe052a7b9d779d3c388f/ddtrace-2.21.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf2ab315a71c07fc9034b2f66a6d165393b9226cfe88fb5572cebb1930a3c647", size = 6075694, upload-time = "2025-10-24T09:12:14.349Z" }, + { url = "https://files.pythonhosted.org/packages/87/e1/14a9611a6880586a5a7e7585dd4f7162e6fe82eb7dfdc15219ea6ff22019/ddtrace-2.21.12-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e0392f1fa5963a6b18cad1d6b4fef1c199d3b4ca16ac3b75d8cc7f101c23adb", size = 2841006, upload-time = "2025-10-24T09:12:16.125Z" }, + { url = "https://files.pythonhosted.org/packages/f7/be/38c9c74629939ce19dc0e924b162b7ee1791cb3b82f75ebf3febe80660f4/ddtrace-2.21.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b8b3d5532900a07fdee8167b6f3137b53573581c424b33877271545529244f9", size = 6395297, upload-time = "2025-10-24T09:12:18.022Z" }, + { url = "https://files.pythonhosted.org/packages/26/08/aba2f8c38b8f9ad366f999ce16ec947978e2f21c40b36da4987dddb1309d/ddtrace-2.21.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:27d258f88f495a3249c4296db18f07ed94db20b3c09487f09fede1674740a0b5", size = 7064493, upload-time = "2025-10-24T09:12:20.222Z" }, + { url = "https://files.pythonhosted.org/packages/0c/15/f1c8ad989e382f5c536a1dc5849e340a5564ca5298a625886cc1fe340d08/ddtrace-2.21.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4ffb46f775fa3f6c4f1b24fa3c48ed5338f5d0ac8d3e66c0d1ff2a054b5680a5", size = 3904168, upload-time = "2025-10-24T09:12:22.166Z" }, + { url = "https://files.pythonhosted.org/packages/a7/3c/0ac708a924da84004dfb80530916462ed3460805cf9a1818345dfcda0413/ddtrace-2.21.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebe7aa7306ab4931a0273b4f6d21aa45a2098a0bbb48526cf9217862e75012af", size = 7444121, upload-time = "2025-10-24T09:12:24.547Z" }, + { url = "https://files.pythonhosted.org/packages/d7/d2/a9620916a403fc34673df5e52822768f243dc53c7fcf9f75f51dec6a284e/ddtrace-2.21.12-cp311-cp311-win32.whl", hash = "sha256:f1cf9f22b48709d7b6865e509ff26f49184160b78dd57bc41dcb08dd25e9b4a9", size = 3098483, upload-time = "2025-10-24T09:12:26.492Z" }, + { url = "https://files.pythonhosted.org/packages/88/2c/ff2cdb65a426262bac23da7bc2ef8a93521e0f21e81328672f5251360a7e/ddtrace-2.21.12-cp311-cp311-win_amd64.whl", hash = "sha256:1cc79b43b41812b9048f8f641fe106cbf18e01ff32ed68a8753ad16331e1136f", size = 3342940, upload-time = "2025-10-24T09:12:28.646Z" }, + { url = "https://files.pythonhosted.org/packages/11/aa/bde4d33ca3e465fe9ec7f5632eb8a52b50068500503b85fc6b8d5ad07fdb/ddtrace-2.21.12-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:b9fab2b672b775930b81406f0ed25e5d8979f3d5c02da1c20fb991edfd939b29", size = 4812461, upload-time = "2025-10-24T09:12:30.808Z" }, + { url = "https://files.pythonhosted.org/packages/9f/82/ad0481f24e7c4af65dfa50e7802ab5f761280933ce876d21f7273f8893c8/ddtrace-2.21.12-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:9296c761fffaf2c28beaaf4f7e79b88578d8fd02cf8cbbb27e28385dd59efd65", size = 3272541, upload-time = "2025-10-24T09:12:33.129Z" }, + { url = "https://files.pythonhosted.org/packages/84/7e/198090d21dd3a32220e2f13039baba153700ceeeba8041aef8c24d611be9/ddtrace-2.21.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f4c0ebc9398b9a1ac8719f62274a869561668e3e81eaed6e94a34dd50950c68", size = 6042921, upload-time = "2025-10-24T09:12:35.325Z" }, + { url = "https://files.pythonhosted.org/packages/96/5e/a4fff09e7e415f558a6ed4413e42c10b9e68e47fef2df3d3ac4aeff8c4e3/ddtrace-2.21.12-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b7469b3f2fe33466e8169fe61c030ca5970e3099ce39753d27dbd622df7820a", size = 2802801, upload-time = "2025-10-24T09:12:37.266Z" }, + { url = "https://files.pythonhosted.org/packages/0b/17/5453740ce2f5d407f42f9f3f751a270a8412785d775549cba4b6d42e03b1/ddtrace-2.21.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02149b106ad18808a832355ebe21b23f4ecf3e5eb2fde33100af4c968ff30a0", size = 6368257, upload-time = "2025-10-24T09:12:39.814Z" }, + { url = "https://files.pythonhosted.org/packages/cc/29/b666574c013b6dd6bf448ff195c34868e377afae993c65f827687f4ff580/ddtrace-2.21.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9a5340f5d08338882d2ed943ddab7659db86ed1325022dff9c03d333467140d2", size = 7030927, upload-time = "2025-10-24T09:12:42.292Z" }, + { url = "https://files.pythonhosted.org/packages/85/21/7a252a853dd569b43e9f2635fd0fbc7cafc0f5795a1d93bc78557a30dbe0/ddtrace-2.21.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:29a25fdb1780b274438ae91721ef9dcd7a1f2eb91586c4e4ab5ffa67dcce037b", size = 3866034, upload-time = "2025-10-24T09:12:44.883Z" }, + { url = "https://files.pythonhosted.org/packages/e7/8d/a147b16eef450eba269b061c9cde125508158160810f2e4488b585b5a357/ddtrace-2.21.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1d8883562ec3dc1475ccdaa8b0a0778d2167a9a6d092b26dbecf4904670393f9", size = 7408275, upload-time = "2025-10-24T09:12:47.726Z" }, + { url = "https://files.pythonhosted.org/packages/c3/84/12eafbfb26c2ae9774b790322092b75412c3defa9287ab871b3de060e315/ddtrace-2.21.12-cp312-cp312-win32.whl", hash = "sha256:60ec39f891bf546e4455dea2f71bf5bec68e1642787c349f8fc5f81acc77b4ff", size = 3086971, upload-time = "2025-10-24T09:12:50.046Z" }, + { url = "https://files.pythonhosted.org/packages/be/65/958ec4d0e1751da1c218da2e4e7c7cfa911b17df60f9f89537737d9e2370/ddtrace-2.21.12-cp312-cp312-win_amd64.whl", hash = "sha256:db9d0555faf065b56e18f925eef201f80395b66d04d86538f41b0c1106151b6f", size = 3328037, upload-time = "2025-10-24T09:12:52.278Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3e/6e0900bb9408b0c93a40a5669f8d2e9e9e07dda2b80f757ee3597d247cc5/ddtrace-2.21.12-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:29bbb2d72a8d8f4388974a035801f4651edf0cfad97ff67fae3f9d17863d7200", size = 4797212, upload-time = "2025-10-24T09:12:54.651Z" }, + { url = "https://files.pythonhosted.org/packages/04/4f/2d7def75daf3a7a33729c89845f5f766f3837b3297f08691588e8d9ece0f/ddtrace-2.21.12-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:46f63ec7b1e80f62e4b9bedaec123be3f607bf7e026d980db5656f55c501e970", size = 3265051, upload-time = "2025-10-24T09:12:56.86Z" }, + { url = "https://files.pythonhosted.org/packages/10/1c/d5a6b3d1132ee26075f7d631aac1cdc00c71f4340132460cf38870d553fa/ddtrace-2.21.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:033d2aabe9b20b2bd6fc6ae226883e21219317a83e2a6ef72ddf76dd00df9a1e", size = 6001434, upload-time = "2025-10-24T09:13:00.009Z" }, + { url = "https://files.pythonhosted.org/packages/7a/f2/4120b60c1f846d654efdc9367a227aad3058536424936fdae306425df2ef/ddtrace-2.21.12-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ffd0ad30dafd1e2f98843b215f9b75f7d08ec4054def06cda9fb75af5c3d2b4", size = 2799520, upload-time = "2025-10-24T09:13:02.852Z" }, + { url = "https://files.pythonhosted.org/packages/6c/58/7fa01a3b3ecc41e67c5f5decf1e18031e6e41721c53fcfb8ea3841b13108/ddtrace-2.21.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a829d411a689120bebf67a2018fb2012b3147da6f25041d71b4d15e32f2afb79", size = 6326996, upload-time = "2025-10-24T09:13:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e6/71c0a664a3eebf9fc38bbd90b47b89271d30dd0cb796624af7b2af35a80f/ddtrace-2.21.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d98497bcba7d89694e8232180442f7d9c0dddd2f3043f59a02b54609d1abe2e", size = 6985268, upload-time = "2025-10-24T09:13:07.737Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fb/1791292d992fe0877052eb4ac3fdd0809ee9f361cc0dcbb9fbef80625956/ddtrace-2.21.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:dc6cd4601658c2bf8e33c176a02a5927bf004bed6f18474f27bba311846ffdca", size = 3863893, upload-time = "2025-10-24T09:13:10.24Z" }, + { url = "https://files.pythonhosted.org/packages/b9/c1/11db5d337f7d24f57e4bf080d4362604aef51668f846ef30ec61568a1584/ddtrace-2.21.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:384abf79063dfa5dc08e067b29b016c03d8209b7fc155684fe5fe56a39282eee", size = 7365578, upload-time = "2025-10-24T09:13:13.045Z" }, ] [[package]] @@ -619,11 +609,11 @@ wheels = [ [[package]] name = "filelock" -version = "3.19.1" +version = "3.20.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, + { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" }, ] [[package]] @@ -643,15 +633,15 @@ wheels = [ [[package]] name = "flask-cors" -version = "6.0.1" +version = "6.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "flask" }, { name = "werkzeug" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/37/bcfa6c7d5eec777c4c7cf45ce6b27631cebe5230caf88d85eadd63edd37a/flask_cors-6.0.1.tar.gz", hash = "sha256:d81bcb31f07b0985be7f48406247e9243aced229b7747219160a0559edd678db", size = 13463, upload-time = "2025-06-11T01:32:08.518Z" } +sdist = { url = "https://files.pythonhosted.org/packages/70/74/0fc0fa68d62f21daef41017dafab19ef4b36551521260987eb3a5394c7ba/flask_cors-6.0.2.tar.gz", hash = "sha256:6e118f3698249ae33e429760db98ce032a8bf9913638d085ca0f4c5534ad2423", size = 13472, upload-time = "2025-12-12T20:31:42.861Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/f8/01bf35a3afd734345528f98d0353f2a978a476528ad4d7e78b70c4d149dd/flask_cors-6.0.1-py3-none-any.whl", hash = "sha256:c7b2cbfb1a31aa0d2e5341eea03a6805349f7a61647daee1a15c46bbe981494c", size = 13244, upload-time = "2025-06-11T01:32:07.352Z" }, + { url = "https://files.pythonhosted.org/packages/4f/af/72ad54402e599152de6d067324c46fe6a4f531c7c65baf7e96c63db55eaf/flask_cors-6.0.2-py3-none-any.whl", hash = "sha256:e57544d415dfd7da89a9564e1e3a9e515042df76e12130641ca6f3f2f03b699a", size = 13257, upload-time = "2025-12-12T20:31:41.3Z" }, ] [[package]] @@ -1001,7 +991,8 @@ name = "grpcio" version = "1.49.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and platform_machine == 'x86_64'", + "python_full_version >= '4' and platform_machine == 'x86_64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine == 'x86_64'", "python_full_version == '3.13.*' and platform_machine == 'x86_64'", "python_full_version == '3.12.*' and platform_machine == 'x86_64'", "python_full_version < '3.12' and platform_machine == 'x86_64'", @@ -1011,7 +1002,6 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/a3/1c/c42834d4fee45c5cf2d9546e97e879a1cbcdecfd16eb1a12144dcb91edae/grpcio-1.49.1.tar.gz", hash = "sha256:d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f", size = 22059239, upload-time = "2022-09-22T03:02:44.376Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2d/e2/aaccddb8b06637625d847dbb5fe76ec3d15a74d89d983f5202f3666706e3/grpcio-1.49.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:9fb17ff8c0d56099ac6ebfa84f670c5a62228d6b5c695cf21c02160c2ac1446b", size = 73399185, upload-time = "2022-09-22T02:57:56.219Z" }, { url = "https://files.pythonhosted.org/packages/90/0f/4d614d59f500835cbd27cb90743fb6b299098b0f22b8fd058d3586c933c0/grpcio-1.49.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:075f2d06e3db6b48a2157a1bcd52d6cbdca980dd18988fe6afdb41795d51625f", size = 4296299, upload-time = "2022-09-22T02:58:01.417Z" }, { url = "https://files.pythonhosted.org/packages/4d/ea/359a98f8b3b4ff9a2f457a0d20ed81775a64149fbb7617177ed23d9d10c9/grpcio-1.49.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc79b2b37d779ac42341ddef40ad5bf0966a64af412c89fc2b062e3ddabb093f", size = 4656437, upload-time = "2022-09-22T02:58:06.23Z" }, { url = "https://files.pythonhosted.org/packages/fc/89/4952d2dff95f5b95db5943b2d1b55c82a485830b992f52f212b33616b523/grpcio-1.49.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49b301740cf5bc8fed4fee4c877570189ae3951432d79fa8e524b09353659811", size = 4888051, upload-time = "2022-09-22T02:58:11.411Z" }, @@ -1023,11 +1013,13 @@ name = "grpcio" version = "1.53.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.14' and platform_machine == 'aarch64'", + "python_full_version >= '4' and platform_machine == 'aarch64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine == 'aarch64'", "python_full_version == '3.13.*' and platform_machine == 'aarch64'", "python_full_version == '3.12.*' and platform_machine == 'aarch64'", "python_full_version < '3.12' and platform_machine == 'aarch64'", - "python_full_version >= '3.14' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", + "python_full_version >= '4' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", + "python_full_version >= '3.14' and python_full_version < '4' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version == '3.13.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version == '3.12.*' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", "python_full_version < '3.12' and platform_machine != 'aarch64' and platform_machine != 'x86_64'", @@ -1153,11 +1145,11 @@ wheels = [ [[package]] name = "identify" -version = "2.6.13" +version = "2.6.16" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/ca/ffbabe3635bb839aa36b3a893c91a9b0d368cb4d8073e03a12896970af82/identify-2.6.13.tar.gz", hash = "sha256:da8d6c828e773620e13bfa86ea601c5a5310ba4bcd65edf378198b56a1f9fb32", size = 99243, upload-time = "2025-08-09T19:35:00.6Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/8d/e8b97e6bd3fb6fb271346f7981362f1e04d6a7463abd0de79e1fda17c067/identify-2.6.16.tar.gz", hash = "sha256:846857203b5511bbe94d5a352a48ef2359532bc8f6727b5544077a0dcfb24980", size = 99360, upload-time = "2026-01-12T18:58:58.201Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl", hash = "sha256:60381139b3ae39447482ecc406944190f690d4a2997f2584062089848361b33b", size = 99153, upload-time = "2025-08-09T19:34:59.1Z" }, + { url = "https://files.pythonhosted.org/packages/b8/58/40fbbcefeda82364720eba5cf2270f98496bdfa19ea75b4cccae79c698e6/identify-2.6.16-py2.py3-none-any.whl", hash = "sha256:391ee4d77741d994189522896270b787aed8670389bfd60f326d677d64a6dfb0", size = 99202, upload-time = "2026-01-12T18:58:56.627Z" }, ] [[package]] @@ -1353,11 +1345,11 @@ wheels = [ [[package]] name = "legacy-cgi" -version = "2.6.3" +version = "2.6.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/ed/300cabc9693209d5a03e2ebc5eb5c4171b51607c08ed84a2b71c9015e0f3/legacy_cgi-2.6.3.tar.gz", hash = "sha256:4c119d6cb8e9d8b6ad7cc0ddad880552c62df4029622835d06dfd18f438a8154", size = 24401, upload-time = "2025-03-27T00:48:56.957Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/9c/91c7d2c5ebbdf0a1a510bfa0ddeaa2fbb5b78677df5ac0a0aa51cf7125b0/legacy_cgi-2.6.4.tar.gz", hash = "sha256:abb9dfc7835772f7c9317977c63253fd22a7484b5c9bbcdca60a29dcce97c577", size = 24603, upload-time = "2025-10-27T05:20:05.395Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/33/68c6c38193684537757e0d50a7ccb4f4656e5c2f7cd2be737a9d4a1bff71/legacy_cgi-2.6.3-py3-none-any.whl", hash = "sha256:6df2ea5ae14c71ef6f097f8b6372b44f6685283dc018535a75c924564183cdab", size = 19851, upload-time = "2025-03-27T00:48:55.366Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7e/e7394eeb49a41cc514b3eb49020223666cbf40d86f5721c2f07871e6d84a/legacy_cgi-2.6.4-py3-none-any.whl", hash = "sha256:7e235ce58bf1e25d1fc9b2d299015e4e2cd37305eccafec1e6bac3fc04b878cd", size = 20035, upload-time = "2025-10-27T05:20:04.289Z" }, ] [[package]] @@ -1472,7 +1464,7 @@ wheels = [ [[package]] name = "minio" -version = "7.2.16" +version = "7.2.20" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "argon2-cffi" }, @@ -1481,9 +1473,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/a0/33ea2e18d5169817950edc13eba58cd781cedefe9f6696cae26aa2d75882/minio-7.2.16.tar.gz", hash = "sha256:81e365c8494d591d8204a63ee7596bfdf8a7d06ad1b1507d6b9c1664a95f299a", size = 139149, upload-time = "2025-07-21T20:11:15.911Z" } +sdist = { url = "https://files.pythonhosted.org/packages/40/df/6dfc6540f96a74125a11653cce717603fd5b7d0001a8e847b3e54e72d238/minio-7.2.20.tar.gz", hash = "sha256:95898b7a023fbbfde375985aa77e2cd6a0762268db79cf886f002a9ea8e68598", size = 136113, upload-time = "2025-11-27T00:37:15.569Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/a3/00260f8df72b51afa1f182dd609533c77fa2407918c4c2813d87b4a56725/minio-7.2.16-py3-none-any.whl", hash = "sha256:9288ab988ca57c181eb59a4c96187b293131418e28c164392186c2b89026b223", size = 95750, upload-time = "2025-07-21T20:11:14.139Z" }, + { url = "https://files.pythonhosted.org/packages/3e/9a/b697530a882588a84db616580f2ba5d1d515c815e11c30d219145afeec87/minio-7.2.20-py3-none-any.whl", hash = "sha256:eb33dd2fb80e04c3726a76b13241c6be3c4c46f8d81e1d58e757786f6501897e", size = 93751, upload-time = "2025-11-27T00:37:13.993Z" }, ] [[package]] @@ -1574,11 +1566,11 @@ wheels = [ [[package]] name = "nodeenv" -version = "1.9.1" +version = "1.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +sdist = { url = "https://files.pythonhosted.org/packages/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", size = 55611, upload-time = "2025-12-20T14:08:54.006Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, + { url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" }, ] [[package]] @@ -1750,7 +1742,7 @@ wheels = [ [[package]] name = "pre-commit" -version = "4.3.0" +version = "4.5.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cfgv" }, @@ -1759,9 +1751,9 @@ dependencies = [ { name = "pyyaml" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +sdist = { url = "https://files.pythonhosted.org/packages/40/f1/6d86a29246dfd2e9b6237f0b5823717f60cad94d47ddc26afa916d21f525/pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61", size = 198232, upload-time = "2025-12-16T21:14:33.552Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, + { url = "https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77", size = 226437, upload-time = "2025-12-16T21:14:32.409Z" }, ] [[package]] @@ -1901,11 +1893,11 @@ wheels = [ [[package]] name = "pycparser" -version = "2.22" +version = "2.23" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, ] [[package]] @@ -2225,28 +2217,28 @@ wheels = [ [[package]] name = "ruff" -version = "0.12.11" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/de/55/16ab6a7d88d93001e1ae4c34cbdcfb376652d761799459ff27c1dc20f6fa/ruff-0.12.11.tar.gz", hash = "sha256:c6b09ae8426a65bbee5425b9d0b82796dbb07cb1af045743c79bfb163001165d", size = 5347103, upload-time = "2025-08-28T13:59:08.87Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/a2/3b3573e474de39a7a475f3fbaf36a25600bfeb238e1a90392799163b64a0/ruff-0.12.11-py3-none-linux_armv6l.whl", hash = "sha256:93fce71e1cac3a8bf9200e63a38ac5c078f3b6baebffb74ba5274fb2ab276065", size = 11979885, upload-time = "2025-08-28T13:58:26.654Z" }, - { url = "https://files.pythonhosted.org/packages/76/e4/235ad6d1785a2012d3ded2350fd9bc5c5af8c6f56820e696b0118dfe7d24/ruff-0.12.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8e33ac7b28c772440afa80cebb972ffd823621ded90404f29e5ab6d1e2d4b93", size = 12742364, upload-time = "2025-08-28T13:58:30.256Z" }, - { url = "https://files.pythonhosted.org/packages/2c/0d/15b72c5fe6b1e402a543aa9d8960e0a7e19dfb079f5b0b424db48b7febab/ruff-0.12.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d69fb9d4937aa19adb2e9f058bc4fbfe986c2040acb1a4a9747734834eaa0bfd", size = 11920111, upload-time = "2025-08-28T13:58:33.677Z" }, - { url = "https://files.pythonhosted.org/packages/3e/c0/f66339d7893798ad3e17fa5a1e587d6fd9806f7c1c062b63f8b09dda6702/ruff-0.12.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:411954eca8464595077a93e580e2918d0a01a19317af0a72132283e28ae21bee", size = 12160060, upload-time = "2025-08-28T13:58:35.74Z" }, - { url = "https://files.pythonhosted.org/packages/03/69/9870368326db26f20c946205fb2d0008988aea552dbaec35fbacbb46efaa/ruff-0.12.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a2c0a2e1a450f387bf2c6237c727dd22191ae8c00e448e0672d624b2bbd7fb0", size = 11799848, upload-time = "2025-08-28T13:58:38.051Z" }, - { url = "https://files.pythonhosted.org/packages/25/8c/dd2c7f990e9b3a8a55eee09d4e675027d31727ce33cdb29eab32d025bdc9/ruff-0.12.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ca4c3a7f937725fd2413c0e884b5248a19369ab9bdd850b5781348ba283f644", size = 13536288, upload-time = "2025-08-28T13:58:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/7a/30/d5496fa09aba59b5e01ea76775a4c8897b13055884f56f1c35a4194c2297/ruff-0.12.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4d1df0098124006f6a66ecf3581a7f7e754c4df7644b2e6704cd7ca80ff95211", size = 14490633, upload-time = "2025-08-28T13:58:42.285Z" }, - { url = "https://files.pythonhosted.org/packages/9b/2f/81f998180ad53445d403c386549d6946d0748e536d58fce5b5e173511183/ruff-0.12.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a8dd5f230efc99a24ace3b77e3555d3fbc0343aeed3fc84c8d89e75ab2ff793", size = 13888430, upload-time = "2025-08-28T13:58:44.641Z" }, - { url = "https://files.pythonhosted.org/packages/87/71/23a0d1d5892a377478c61dbbcffe82a3476b050f38b5162171942a029ef3/ruff-0.12.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dc75533039d0ed04cd33fb8ca9ac9620b99672fe7ff1533b6402206901c34ee", size = 12913133, upload-time = "2025-08-28T13:58:47.039Z" }, - { url = "https://files.pythonhosted.org/packages/80/22/3c6cef96627f89b344c933781ed38329bfb87737aa438f15da95907cbfd5/ruff-0.12.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc58f9266d62c6eccc75261a665f26b4ef64840887fc6cbc552ce5b29f96cc8", size = 13169082, upload-time = "2025-08-28T13:58:49.157Z" }, - { url = "https://files.pythonhosted.org/packages/05/b5/68b3ff96160d8b49e8dd10785ff3186be18fd650d356036a3770386e6c7f/ruff-0.12.11-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5a0113bd6eafd545146440225fe60b4e9489f59eb5f5f107acd715ba5f0b3d2f", size = 13139490, upload-time = "2025-08-28T13:58:51.593Z" }, - { url = "https://files.pythonhosted.org/packages/59/b9/050a3278ecd558f74f7ee016fbdf10591d50119df8d5f5da45a22c6afafc/ruff-0.12.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0d737b4059d66295c3ea5720e6efc152623bb83fde5444209b69cd33a53e2000", size = 11958928, upload-time = "2025-08-28T13:58:53.943Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bc/93be37347db854806904a43b0493af8d6873472dfb4b4b8cbb27786eb651/ruff-0.12.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:916fc5defee32dbc1fc1650b576a8fed68f5e8256e2180d4d9855aea43d6aab2", size = 11764513, upload-time = "2025-08-28T13:58:55.976Z" }, - { url = "https://files.pythonhosted.org/packages/7a/a1/1471751e2015a81fd8e166cd311456c11df74c7e8769d4aabfbc7584c7ac/ruff-0.12.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c984f07d7adb42d3ded5be894fb4007f30f82c87559438b4879fe7aa08c62b39", size = 12745154, upload-time = "2025-08-28T13:58:58.16Z" }, - { url = "https://files.pythonhosted.org/packages/68/ab/2542b14890d0f4872dd81b7b2a6aed3ac1786fae1ce9b17e11e6df9e31e3/ruff-0.12.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e07fbb89f2e9249f219d88331c833860489b49cdf4b032b8e4432e9b13e8a4b9", size = 13227653, upload-time = "2025-08-28T13:59:00.276Z" }, - { url = "https://files.pythonhosted.org/packages/22/16/2fbfc61047dbfd009c58a28369a693a1484ad15441723be1cd7fe69bb679/ruff-0.12.11-py3-none-win32.whl", hash = "sha256:c792e8f597c9c756e9bcd4d87cf407a00b60af77078c96f7b6366ea2ce9ba9d3", size = 11944270, upload-time = "2025-08-28T13:59:02.347Z" }, - { url = "https://files.pythonhosted.org/packages/08/a5/34276984705bfe069cd383101c45077ee029c3fe3b28225bf67aa35f0647/ruff-0.12.11-py3-none-win_amd64.whl", hash = "sha256:a3283325960307915b6deb3576b96919ee89432ebd9c48771ca12ee8afe4a0fd", size = 13046600, upload-time = "2025-08-28T13:59:04.751Z" }, - { url = "https://files.pythonhosted.org/packages/84/a8/001d4a7c2b37623a3fd7463208267fb906df40ff31db496157549cfd6e72/ruff-0.12.11-py3-none-win_arm64.whl", hash = "sha256:bae4d6e6a2676f8fb0f98b74594a048bae1b944aab17e9f5d504062303c6dbea", size = 12135290, upload-time = "2025-08-28T13:59:06.933Z" }, +version = "0.14.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/77/9a7fe084d268f8855d493e5031ea03fa0af8cc05887f638bf1c4e3363eb8/ruff-0.14.11.tar.gz", hash = "sha256:f6dc463bfa5c07a59b1ff2c3b9767373e541346ea105503b4c0369c520a66958", size = 5993417, upload-time = "2026-01-08T19:11:58.322Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/a6/a4c40a5aaa7e331f245d2dc1ac8ece306681f52b636b40ef87c88b9f7afd/ruff-0.14.11-py3-none-linux_armv6l.whl", hash = "sha256:f6ff2d95cbd335841a7217bdfd9c1d2e44eac2c584197ab1385579d55ff8830e", size = 12951208, upload-time = "2026-01-08T19:12:09.218Z" }, + { url = "https://files.pythonhosted.org/packages/5c/5c/360a35cb7204b328b685d3129c08aca24765ff92b5a7efedbdd6c150d555/ruff-0.14.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6f6eb5c1c8033680f4172ea9c8d3706c156223010b8b97b05e82c59bdc774ee6", size = 13330075, upload-time = "2026-01-08T19:12:02.549Z" }, + { url = "https://files.pythonhosted.org/packages/1b/9e/0cc2f1be7a7d33cae541824cf3f95b4ff40d03557b575912b5b70273c9ec/ruff-0.14.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f2fc34cc896f90080fca01259f96c566f74069a04b25b6205d55379d12a6855e", size = 12257809, upload-time = "2026-01-08T19:12:00.366Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e5/5faab97c15bb75228d9f74637e775d26ac703cc2b4898564c01ab3637c02/ruff-0.14.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53386375001773ae812b43205d6064dae49ff0968774e6befe16a994fc233caa", size = 12678447, upload-time = "2026-01-08T19:12:13.899Z" }, + { url = "https://files.pythonhosted.org/packages/1b/33/e9767f60a2bef779fb5855cab0af76c488e0ce90f7bb7b8a45c8a2ba4178/ruff-0.14.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a697737dce1ca97a0a55b5ff0434ee7205943d4874d638fe3ae66166ff46edbe", size = 12758560, upload-time = "2026-01-08T19:11:42.55Z" }, + { url = "https://files.pythonhosted.org/packages/eb/84/4c6cf627a21462bb5102f7be2a320b084228ff26e105510cd2255ea868e5/ruff-0.14.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6845ca1da8ab81ab1dce755a32ad13f1db72e7fba27c486d5d90d65e04d17b8f", size = 13599296, upload-time = "2026-01-08T19:11:30.371Z" }, + { url = "https://files.pythonhosted.org/packages/88/e1/92b5ed7ea66d849f6157e695dc23d5d6d982bd6aa8d077895652c38a7cae/ruff-0.14.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e36ce2fd31b54065ec6f76cb08d60159e1b32bdf08507862e32f47e6dde8bcbf", size = 15048981, upload-time = "2026-01-08T19:12:04.742Z" }, + { url = "https://files.pythonhosted.org/packages/61/df/c1bd30992615ac17c2fb64b8a7376ca22c04a70555b5d05b8f717163cf9f/ruff-0.14.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:590bcc0e2097ecf74e62a5c10a6b71f008ad82eb97b0a0079e85defe19fe74d9", size = 14633183, upload-time = "2026-01-08T19:11:40.069Z" }, + { url = "https://files.pythonhosted.org/packages/04/e9/fe552902f25013dd28a5428a42347d9ad20c4b534834a325a28305747d64/ruff-0.14.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:53fe71125fc158210d57fe4da26e622c9c294022988d08d9347ec1cf782adafe", size = 14050453, upload-time = "2026-01-08T19:11:37.555Z" }, + { url = "https://files.pythonhosted.org/packages/ae/93/f36d89fa021543187f98991609ce6e47e24f35f008dfe1af01379d248a41/ruff-0.14.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a35c9da08562f1598ded8470fcfef2afb5cf881996e6c0a502ceb61f4bc9c8a3", size = 13757889, upload-time = "2026-01-08T19:12:07.094Z" }, + { url = "https://files.pythonhosted.org/packages/b7/9f/c7fb6ecf554f28709a6a1f2a7f74750d400979e8cd47ed29feeaa1bd4db8/ruff-0.14.11-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:0f3727189a52179393ecf92ec7057c2210203e6af2676f08d92140d3e1ee72c1", size = 13955832, upload-time = "2026-01-08T19:11:55.064Z" }, + { url = "https://files.pythonhosted.org/packages/db/a0/153315310f250f76900a98278cf878c64dfb6d044e184491dd3289796734/ruff-0.14.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:eb09f849bd37147a789b85995ff734a6c4a095bed5fd1608c4f56afc3634cde2", size = 12586522, upload-time = "2026-01-08T19:11:35.356Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2b/a73a2b6e6d2df1d74bf2b78098be1572191e54bec0e59e29382d13c3adc5/ruff-0.14.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:c61782543c1231bf71041461c1f28c64b961d457d0f238ac388e2ab173d7ecb7", size = 12724637, upload-time = "2026-01-08T19:11:47.796Z" }, + { url = "https://files.pythonhosted.org/packages/f0/41/09100590320394401cd3c48fc718a8ba71c7ddb1ffd07e0ad6576b3a3df2/ruff-0.14.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:82ff352ea68fb6766140381748e1f67f83c39860b6446966cff48a315c3e2491", size = 13145837, upload-time = "2026-01-08T19:11:32.87Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d8/e035db859d1d3edf909381eb8ff3e89a672d6572e9454093538fe6f164b0/ruff-0.14.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:728e56879df4ca5b62a9dde2dd0eb0edda2a55160c0ea28c4025f18c03f86984", size = 13850469, upload-time = "2026-01-08T19:12:11.694Z" }, + { url = "https://files.pythonhosted.org/packages/4e/02/bb3ff8b6e6d02ce9e3740f4c17dfbbfb55f34c789c139e9cd91985f356c7/ruff-0.14.11-py3-none-win32.whl", hash = "sha256:337c5dd11f16ee52ae217757d9b82a26400be7efac883e9e852646f1557ed841", size = 12851094, upload-time = "2026-01-08T19:11:45.163Z" }, + { url = "https://files.pythonhosted.org/packages/58/f1/90ddc533918d3a2ad628bc3044cdfc094949e6d4b929220c3f0eb8a1c998/ruff-0.14.11-py3-none-win_amd64.whl", hash = "sha256:f981cea63d08456b2c070e64b79cb62f951aa1305282974d4d5216e6e0178ae6", size = 14001379, upload-time = "2026-01-08T19:11:52.591Z" }, + { url = "https://files.pythonhosted.org/packages/c4/1c/1dbe51782c0e1e9cfce1d1004752672d2d4629ea46945d19d731ad772b3b/ruff-0.14.11-py3-none-win_arm64.whl", hash = "sha256:649fb6c9edd7f751db276ef42df1f3df41c38d67d199570ae2a7bd6cbc3590f0", size = 12938644, upload-time = "2026-01-08T19:11:50.027Z" }, ] [[package]] @@ -2604,11 +2596,11 @@ wheels = [ [[package]] name = "types-psycopg2" -version = "2.9.21.20250809" +version = "2.9.21.20251012" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/17/d0/66f3f04bab48bfdb2c8b795b2b3e75eb20c7d1fb0516916db3be6aa4a683/types_psycopg2-2.9.21.20250809.tar.gz", hash = "sha256:b7c2cbdcf7c0bd16240f59ba694347329b0463e43398de69784ea4dee45f3c6d", size = 26539, upload-time = "2025-08-09T03:14:54.711Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/b3/2d09eaf35a084cffd329c584970a3fa07101ca465c13cad1576d7c392587/types_psycopg2-2.9.21.20251012.tar.gz", hash = "sha256:4cdafd38927da0cfde49804f39ab85afd9c6e9c492800e42f1f0c1a1b0312935", size = 26710, upload-time = "2025-10-12T02:55:39.5Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/98/182497602921c47fadc8470d51a32e5c75343c8931c0b572a5c4ae3b948b/types_psycopg2-2.9.21.20250809-py3-none-any.whl", hash = "sha256:59b7b0ed56dcae9efae62b8373497274fc1a0484bdc5135cdacbe5a8f44e1d7b", size = 24824, upload-time = "2025-08-09T03:14:53.908Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0c/05feaf8cb51159f2c0af04b871dab7e98a2f83a3622f5f216331d2dd924c/types_psycopg2-2.9.21.20251012-py3-none-any.whl", hash = "sha256:712bad5c423fe979e357edbf40a07ca40ef775d74043de72bd4544ca328cc57e", size = 24883, upload-time = "2025-10-12T02:55:38.439Z" }, ] [[package]] @@ -2746,16 +2738,16 @@ wheels = [ [[package]] name = "virtualenv" -version = "20.34.0" +version = "20.36.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/a3/4d310fa5f00863544e1d0f4de93bddec248499ccf97d4791bc3122c9d4f3/virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba", size = 6032239, upload-time = "2026-01-09T18:21:01.296Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size = 6008258, upload-time = "2026-01-09T18:20:59.425Z" }, ] [[package]]