# Publishing chest2vec_0.6b_chest This guide covers publishing to both **Hugging Face Hub** (model repository) and **PyPI** (Python package). ## Option 1: Publish to Hugging Face Hub ### Prerequisites 1. Install Hugging Face Hub CLI: ```bash pip install huggingface_hub ``` 2. Login to Hugging Face: ```bash huggingface-cli login # Enter your HF token when prompted ``` ### Initialize Git Repository (if not already) ```bash cd /opt/project/chest2vec/export_chest2vec_0.6b_chest git init git add . git commit -m "Initial commit: chest2vec_0.6b_chest" ``` ### Create Repository on Hugging Face Hub 1. Go to https://huggingface.co/new 2. Create a new repository named `chest2vec_0.6b_chest` (or `chest2vec/chest2vec_0.6b_chest` if under an organization) 3. Choose "Model" as the repository type ### Push to Hugging Face Hub ```bash # Add HF remote (replace with your username/org) git remote add origin https://huggingface.co/YOUR_USERNAME/chest2vec_0.6b_chest # Push to HF Hub git push origin main ``` Or use the HF Hub CLI: ```bash huggingface-cli upload YOUR_USERNAME/chest2vec_0.6b_chest . --repo-type model ``` ### Verify Upload Visit `https://huggingface.co/YOUR_USERNAME/chest2vec_0.6b_chest` to verify all files are uploaded. --- ## Option 2: Publish to PyPI ### Prerequisites 1. Create a PyPI account at https://pypi.org/account/register/ 2. Create an API token at https://pypi.org/manage/account/token/ 3. Install build tools: ```bash pip install build twine ``` ### Build the Package ```bash cd /opt/project/chest2vec/export_chest2vec_0.6b_chest python3 -m build ``` This creates: - `dist/chest2vec-0.6.0-py3-none-any.whl` - `dist/chest2vec-0.6.0.tar.gz` ### Upload to PyPI #### Test first on TestPyPI ```bash # Upload to TestPyPI first to test twine upload --repository testpypi dist/* # You'll be prompted for: # username: __token__ # password: your API token ``` Test installation: ```bash pip install --index-url https://test.pypi.org/simple/ chest2vec ``` #### Then upload to PyPI ```bash twine upload dist/* # You'll be prompted for: # username: __token__ # password: your API token ``` ### After Publishing Once published, users can install with: ```bash pip install chest2vec ``` **Note:** Users will still need to install PyTorch and flash-attention separately as documented in the README, since PyPI doesn't support custom index URLs in dependencies. --- ## Option 3: Publish to Both You can publish to both platforms: 1. **First publish to Hugging Face Hub** (for model weights and repository) 2. **Then publish to PyPI** (for easy Python package installation) Users can then either: - Load from HF Hub: `Chest2Vec.from_pretrained("YOUR_USERNAME/chest2vec_0.6b_chest")` - Install from PyPI: `pip install chest2vec` (then load from HF Hub or local path) --- ## Important Notes - **Model weights** (section_pooler.pt, contrastive/) should be on Hugging Face Hub - **Python package** can be on PyPI for easier installation - The package name on PyPI is `chest2vec` (shared across all variants) - Make sure to update version numbers in `setup.py` and `pyproject.toml` if publishing a new version