Empujando una sucursal local a una sucursal remota - gitpython

Creé un nuevo repositorio en mi Github. Usando la biblioteca gitpython puedo obtener este repositorio. Luego creo una nueva rama, agrego un nuevo archivo, me comprometo e intento empujar a la nueva rama.

Por favor marque el siguiente código:

import git
import random
import os

repo_name = 'test'
branch_name = 'feature4'

remote_repo_addr_git = 'git@repo:DevOps/z_sandbox1.git'

no = random.randint(0,1000)
repo = git.Repo.clone_from(remote_repo_addr_git, repo_name)
new_branch = repo.create_head(branch_name)
repo.head.set_reference(new_branch)
os.chdir(repo_name)
open("parasol" + str(no), "w+").write(str(no)) # this is added
print repo.active_branch
repo.git.add(A=True)
repo.git.commit(m='okej')
repo.git.push(u='origin feature4')

Todo funciona bien hasta el último método de inserción. Tengo este error:

stderr: 'fatal:' origin feature4 'no parece ser un repositorio git fatal: No se pudo leer desde el repositorio remoto.

Asegúrese de tener los derechos de acceso correctos y de que exista el repositorio '.

Puedo ejecutar este método desde la línea de comandos y funciona bien:

git puth -u origin feature4

Pero no funciona en python. ¿Podrías decirme qué debo hacer?