# tinker_cookbook.weights.publish_to_hf_hub ### [**tinker_cookbook.weights.publish_to_hf_hub**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L15)(*model_path*, *repo_id*, *private*, *token*, *model_card*) Push a model or adapter directory to HuggingFace Hub. Works with outputs from [`build_hf_model`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/weights/build_hf_model/index.md), `build_lora_adapter`, or any HuggingFace-compatible model directory. **Parameters:** - [**model_path**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L17) (*str*) – Local path to the model or adapter directory to upload. - [**repo_id**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L18) (*str*) – HuggingFace Hub repository ID (e.g. `"user/my-model"`). - [**private**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L19) (*bool*) – Whether the repository should be private. Defaults to `True` for safety. - [**token**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L20) (*str | None*) – HuggingFace API token. If `None` (default), uses the `HF_TOKEN` environment variable or cached login from `hf auth login`. - [**model_card**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/weights/_publish.py#L21) (*ModelCardConfig | None*) – Optional model card configuration. When provided, a `README.md` is auto-generated and included in the upload. If the directory already contains a `README.md`, the existing file is preserved and a warning is logged. **Returns:** URL of the published repository. ```python from tinker_cookbook import weights url = weights.publish_to_hf_hub( model_path="./merged_model", repo_id="my-org/my-model", ) print(url) ```