You have a database connection. You need it in another process.

        
PicklingError can't pickle psycopg2.connection objects
The connection is alive here. So it can't exist over there.
cucumber doesn't try to copy the connection.
It packs what it needs to make a new one.
host"db.prod"
database"users"
port5432
user"admin"
password
Credentials are never stored for security reasons.
PostgresReconnector
A Reconnector stores everything needed to recreate the connection — host, port, user, database — without the credentials. It's a placeholder that knows how to come back to life.
Process A
process boundary
Process B
On the other side, you reconnect.
lazy reconnect
No credentials needed.

                
First attribute access auto-reconnects.
SQLite · DuckDB · sockets · threads
auth reconnect
You provide the password.

                
cucumber never stores credentials.
PostgreSQL · MySQL · MongoDB · Redis · +12 more
reconnect_all
Many connections at once.

                
One call. Every connection. Per-attribute credentials.
Or, just let it happen automatically.

        
Connections auto-reconnect when the process starts.
Pack anything. Cross any boundary. Reconnect on the other side.