If you're authenticated with the Hugging Face Hub (either by using `huggingface-cli login` or [`login`]), you can push cards to the Hub by simply calling [`ModelCard.push_to_hub`]. Let's take a look at how to do that...  
First, we'll create a new repo called 'hf-hub-modelcards-pr-test' under the authenticated user's namespace:  
```python
from huggingface_hub import whoami, create_repo

user = whoami()['name']
repo_id = f'{user}/hf-hub-modelcards-pr-test'
url = create_repo(repo_id, exist_ok=True)
```  
Then, we'll create a card from the default template (same as the one defined in the section above):  
```python
card_data = ModelCardData(language='en', license='mit', library_name='keras')
card = ModelCard.from_template(
card_data,
model_id='my-cool-model',
model_description="this model does this and that",
developers="Nate Raw",
repo="https://github.com/huggingface/huggingface_hub",
)
```  
Finally, we'll push that up to the hub  
```python
card.push_to_hub(repo_id)
```  
You can check out the resulting card [here](https://huggingface.co/nateraw/hf-hub-modelcards-pr-test/blob/main/README.md).  
If you instead wanted to push a card as a pull request, you can just say `create_pr=True` when calling `push_to_hub`:  
```python
card.push_to_hub(repo_id, create_pr=True)
```  
A resulting PR created from this command can be seen [here](https://huggingface.co/nateraw/hf-hub-modelcards-pr-test/discussions/3).