Note: Iterator-style objects (including enumerate and zip) are exhausted during serialization. Reconstruction returns a plain iterator over the remaining values, not the original iterator type.
Note: Objects that turn into Reconnector objects may need to be reconnected after deserialization to fully work. Reconnectors that do not require auth will lazily reconnect on first attribute access; auth-based reconnectors still require an explicit reconnect(...) call (or with credentials).
Note: Due to Python limitations, some types are not supported by .
multiprocessing.* objects (queues, managers, events, shared_memory, connections)os.pipe() file handles / pipe-backed io.FileIOweakref.ref objects (recreated as weak references; dead refs become placeholders)cucumber supported typessuitkaise typesNone --> Nonebool --> boolint --> intfloat --> floatstr --> strbytes --> byteslist --> listtuple --> tupleset --> setfrozenset --> frozensetdict --> dictdatetime.datetime --> datetime.datetimedatetime.date --> datetime.datedatetime.time --> datetime.timedatetime.timedelta --> datetime.timedeltadatetime.timezone --> datetime.timezonedecimal.Decimal --> decimal.Decimalfractions.Fraction --> fractions.Fractionuuid.UUID --> uuid.UUIDpathlib.Path --> pathlib.Pathpathlib.PurePath --> pathlib.PurePathpathlib.PosixPath --> pathlib.PosixPathpathlib.WindowsPath --> pathlib.WindowsPathtypes.FunctionType --> types.FunctionTypefunctools.partial --> functools.partialtypes.MethodType --> types.MethodTypestaticmethod --> staticmethodclassmethod --> classmethodtype --> typelogging.Logger --> logging.Loggerlogging.StreamHandler --> logging.StreamHandlerlogging.FileHandler --> logging.FileHandlerlogging.Formatter --> logging.Formatter_thread.lock --> _thread.lockthreading.RLock --> threading.RLockthreading.Semaphore --> threading.Semaphorethreading.BoundedSemaphore --> threading.BoundedSemaphorethreading.Barrier --> threading.Barrierthreading.Condition --> threading.Conditionio.TextIOBase --> io.TextIOBasetempfile._TemporaryFileWrapper --> tempfile._TemporaryFileWrapperio.StringIO --> io.StringIOio.BytesIO --> io.BytesIOqueue.Queue --> queue.Queuemultiprocessing.Queue --> multiprocessing.Queue (Share not supported)threading.Event --> threading.Eventmultiprocessing.Event --> multiprocessing.Event (Share not supported)re.Pattern --> re.Patternre.Match --> MatchReconnectorsqlite3.Connection --> SQLiteConnectionReconnectorsqlite3.Cursor --> SQLiteCursorReconnectorcontextvars.ContextVar --> contextvars.ContextVarcontextvars.Token --> contextvars.Token (Share not supported)requests.Session --> requests.Sessionsocket.socket --> SocketReconnectorpsycopg2.Connection --> DbReconnectorpymysql.Connection --> DbReconnectorpymongo.MongoClient --> DbReconnectorredis.Redis --> DbReconnectorsqlalchemy.Engine --> DbReconnectorcassandra.Cluster --> DbReconnectorelasticsearch.Elasticsearch --> DbReconnectorneo4j.Driver --> DbReconnectorinfluxdb_client.InfluxDBClient --> DbReconnectorpyodbc.Connection --> DbReconnectorclickhouse_driver.Client --> DbReconnectorpymssql.Connection --> DbReconnectororacledb.Connection --> DbReconnectorsnowflake.Connection --> DbReconnectorduckdb.Connection --> DbReconnectorcollections.abc.Iterator --> iteratorrange --> rangeenumerate --> iteratorzip --> iteratormmap.mmap --> mmap.mmapmultiprocessing.shared_memory.SharedMemory --> multiprocessing.shared_memory.SharedMemory (Share not supported)int (file descriptors) --> int (file descriptors)memoryview --> memoryviewthreading.Thread --> ThreadReconnectorconcurrent.futures.ThreadPoolExecutor --> concurrent.futures.ThreadPoolExecutorconcurrent.futures.ProcessPoolExecutor --> concurrent.futures.ProcessPoolExecutorthreading.local --> threading.localio.FileIO (from os.pipe) --> io.FileIO (Share not supported)multiprocessing.connection.Connection --> multiprocessing.connection.Connection (Share not supported)multiprocessing.managers.BaseProxy --> multiprocessing.managers.BaseProxy (Share not supported)types.CodeType --> types.CodeTypetypes.FrameType --> types.FrameType (Share not supported)property --> propertytypes.MemberDescriptorType --> types.MemberDescriptorType (Share not supported)types.GetSetDescriptorType --> types.GetSetDescriptorType (Share not supported)types.WrapperDescriptorType --> types.WrapperDescriptorType (Share not supported)types.MethodDescriptorType --> types.MethodDescriptorType (Share not supported)types.MethodWrapperType --> types.MethodWrapperTypetypes.GeneratorType --> iteratorweakref.ref --> weakref.ref (Share not supported)weakref.WeakValueDictionary --> weakref.WeakValueDictionaryweakref.WeakKeyDictionary --> weakref.WeakKeyDictionaryenum.Enum --> enum.Enumenum.EnumMeta --> enum.EnumMetacontextlib._GeneratorContextManager --> contextlib._GeneratorContextManagersubprocess.Popen --> SubprocessReconnectorsubprocess.CompletedProcess --> subprocess.CompletedProcesstypes.CoroutineType --> types.CoroutineTypetypes.AsyncGeneratorType --> types.AsyncGeneratorTypeasyncio.Task --> asyncio.Taskasyncio.Future --> asyncio.Futuretypes.ModuleType --> types.ModuleTypecollections.namedtuple --> collections.namedtupletyping.NamedTuple --> typing.NamedTupletyping.TypedDict --> typing.TypedDictDbReconnector --> DbReconnectorSocketReconnector --> SocketReconnectorThreadReconnector --> ThreadReconnectorPipeReconnector --> PipeReconnectorSubprocessReconnector --> SubprocessReconnectorMatchReconnector --> MatchReconnector