schemas works with python 3.10.6 but not 3.10.9

@FYI: @jziebinski

While running some tests using schemas. e.g the test_fast_broadcast_smoke_test, an error on python 3.10.9 can be observed:

ImportError while loading conftest '/home/mzebrak/1workspace/clive/tests/conftest.py'.
../../conftest.py:12: in <module>
    from clive.__private.config import settings
../../../clive/__init__.py:3: in <module>
    from clive.__private.core.world import World
../../../clive/__private/core/world.py:8: in <module>
    from clive.__private.core.commands.commands import Commands
../../../clive/__private/core/commands/commands.py:7: in <module>
    from clive.__private.core.commands.build_transaction import BuildTransaction
../../../clive/__private/core/commands/build_transaction.py:7: in <module>
    from clive.models import Transaction
../../../clive/models.py:9: in <module>
    from schemas.__private.hive_fields_basic_schemas import (
/home/mzebrak/.pyenv/versions/clive/lib/python3.10/site-packages/schemas/__init__.py:3: in <module>
    from schemas import operations, virtual_operations
/home/mzebrak/.pyenv/versions/clive/lib/python3.10/site-packages/schemas/operations.py:3: in <module>
    from schemas.__private.operations import (
/home/mzebrak/.pyenv/versions/clive/lib/python3.10/site-packages/schemas/__private/operations/__init__.py:120: in <module>
    Hf26OperationType = OperationType[AssetHiveHF26, AssetHbdHF26, AssetVestsHF26]
E   TypeError: There are no type variables left in schemas.__private.operations.account_create_operation.AccountCreateOperation | schemas.__private.operations.account_update2_operation.AccountUpdate2Operation | schemas.__private.operations.account_update_operation.AccountUpdateOperation | schemas.__private.operations.account_witness_proxy_operation.AccountWitnessProxyOperation | schemas.__private.operations.account_witness_vote_operation.AccountWitnessVoteOperation | schemas.__private.operations.cancel_transfer_from_savings_operation.CancelTransferFromSavingsOperation | schemas.__private.operations.change_recovery_account_operation.ChangeRecoveryAccountOperation | schemas.__private.operations.claim_account_operation.ClaimAccountOperation | schemas.__private.operations.claim_reward_balance_operation.ClaimRewardBalanceOperation | schemas.__private.operations.collateralized_convert_operation.CollateralizedConvertOperation | schemas.__private.operations.comment_operation.CommentOperation | schemas.__private.operations.comment_options_operation.CommentOptionsOperation | schemas.__private.operations.convert_operation.ConvertOperation | schemas.__private.operations.create_claimed_account_operation.CreateClaimedAccountOperation | schemas.__private.operations.create_proposal_operation.CreateProposalOperation | schemas.__private.operations.custom_binary_operation.CustomBinaryOperation | schemas.__private.operations.custom_json_operation.CustomJsonOperation | schemas.__private.operations.custom_operation.CustomOperation | schemas.__private.operations.decline_voting_rights_operation.DeclineVotingRightsOperation | schemas.__private.operations.delegate_vesting_shares_operation.DelegateVestingSharesOperation | schemas.__private.operations.delete_comment_operation.DeleteCommentOperation | schemas.__private.operations.escrow_approve_operation.EscrowApproveOperation | schemas.__private.operations.escrow_dispute_operation.EscrowDisputeOperation | schemas.__private.operations.escrow_release_operation.EscrowReleaseOperation | schemas.__private.operations.escrow_transfer_operation.EscrowTransferOperation | schemas.__private.operations.feed_publish_operation.FeedPublishOperation | schemas.__private.operations.limit_order_cancel_operation.LimitOrderCancelOperation | schemas.__private.operations.limit_order_create2_operation.LimitOrderCreate2Operation | schemas.__private.operations.limit_order_create_operation.LimitOrderCreateOperation | schemas.__private.operations.recover_account_operation.RecoverAccountOperation | schemas.__private.operations.recurrent_transfer_operation.RecurrentTransferOperation | schemas.__private.operations.remove_proposal_operation.RemoveProposalOperation | schemas.__private.operations.request_account_recovery_operation.RequestAccountRecoveryOperation | schemas.__private.operations.reset_account_operation.ResetAccountOperation | schemas.__private.operations.set_reset_account_operation.SetResetAccountOperation | schemas.__private.operations.set_withdraw_vesting_route_operation.SetWithdrawVestingRouteOperation | schemas.__private.operations.transfer_from_savings_operation.TransferFromSavingsOperation | schemas.__private.operations.transfer_operation.TransferOperation | schemas.__private.operations.transfer_to_savings_operation.TransferToSavingsOperation | schemas.__private.operations.transfer_to_vesting_operation.TransferToVestingOperation | schemas.__private.operations.update_proposal_operation.UpdateProposalOperation | schemas.__private.operations.update_proposal_votes_operation.UpdateProposalVotesOperation | schemas.__private.operations.vote_operation.VoteOperation | schemas.__private.operations.withdraw_vesting_operation.WithdrawVestingOperation | schemas.__private.operations.witness_block_approve_operation.WitnessBlockApproveOperation | schemas.__private.operations.witness_set_properties_operation.WitnessSetPropertiesOperation | schemas.__private.operations.witness_update_operation.WitnessUpdateOperation

After some investigation it looks like the code works fine on 3.10.6 but somewhere up to 3.10.9 (maybe before this micro release) it fails.

Edited by Mateusz Żebrak