semvec/pypi-packages huggingface dataset:
ccswitcher 0.1.1
CLI tool to switch between different Claude Code API settings
Requires Python: >=3.7

# CCswitcher

A CLI tool to easily switch between different API settings for Claude Code. Perfect for when you hit API limits and want to switch to alternative providers like DeepSeek, OpenRouter, or other compatible APIs.

## Installation


Install the package from pip:

```bash
pip install ccswitcher
```

Install the package locally:

```bash
pip install -e .
```

## Usage

### Switch to a Profile

Switch to a registered profile (e.g., DeepSeek):

```bash
ccswitcher deepseek
```

This will copy the settings file from your registered path to `~/.claude/settings.json`.

### Switch to Default Claude

Switch back to default Claude settings (removes `settings.json`):

```bash
ccswitcher claude
```

Claude Code uses default settings when `settings.json` doesn't exist.

### Register a New Profile

Register a new API provider profile:

```bash
ccswitcher new deepseek --path='~/.claude/settings_deepseek'
```

This saves the association between the profile name and settings file path in your configuration.

### List All Profiles

View all registered profiles:

```bash
ccswitcher list
```

This shows all profiles with their paths and whether the settings files exist.

## How It Works

1. **Configuration Storage**: Profile mappings are stored in `~/.config/ccswitcher/settings.yml`
2. **Settings Switching**: When you switch profiles, the tool copies the corresponding settings file to `~/.claude/settings.json`
3. **Default Mode**: Switching to "claude" removes `settings.json`, making Claude Code use its default settings

## Example Workflow

1. First, create your alternative API settings file:
   ```bash
   # Create a settings file for DeepSeek
   cat > ~/.claude/settings_deepseek << EOF
   {
     "apiKey": "your-deepseek-api-key",
     "apiEndpoint": "https://api.deepseek.com",
     "model": "deepseek-chat"
   }
   EOF
   ```

2. Register the profile:
   ```bash
   ccswitcher new deepseek --path='~/.claude/settings_deepseek'
   ```

3. Switch between profiles as needed:
   ```bash
   # Use DeepSeek
   ccswitcher deepseek

   # Back to default Claude
   ccswitcher claude

   # Use DeepSeek again
   ccswitcher deepseek
   ```

4. Check your registered profiles:
   ```bash
   ccswitcher list
   ```

## Requirements

- Python >= 3.7
- click >= 8.0.0
- pyyaml >= 5.0.0

## License

MIT
dtscore 2.5.4
DTS Core Services
Requires Python: >=3.10

# Prep

See: https://packaging.python.org/en/latest/tutorials/packaging-projects/

## Setup Testpypi and Pypi (one time only)
 
 .pypirc file in $home (c:/users/dgsmith) directory<br/>

 ```
[testpypi]
username = __token__
password = token from test.pypi.org goes here
 ```

## Project folder structure

```
pyexample
├── src
│   ├── pyexample_USERNAME_HERE
│   │   ├── __init__.py
│   │   ├── module_mpi4py_1.py
│   │   ├── module_numpy_1.py
│   │   └── module_numpy_2.py
│   │-- module2_USERNAME_HERE
│   │   ├── __init__.py
│   │   ├── ...
├── tests
│   ├── test1.py
├── .gitignore
├── LICENSE
├── pyproject.toml
├── README.md
```

## Other Steps

* Create a virtual environment (.venv)
* pip install any dependencies
* pip freeze to create requirements.txt

## Tools install

```
python -m pip install --upgrade pip
python -m pip install --upgrade build
python -m pip install --upgrade twine
```

## Create pyproject.toml
under project folder create pyproject.toml

```
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "dtscore_dsmi"
version = "0.0.2"
authors = [
  { name="D. Smith", email="dgsmith.hpot@gmail.com" },
]
description = "DTS Core Services"
readme = "README.md"
requires-python = ">= 3.10"
dependencies = [
    'requests>=2.31',
    'importlib-metadata; python_version>="3.10"',
    'urllib3>=2.0'
]
classifiers = [
        'Development Status :: 5 - Production/Stable',
        'Environment :: Console',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: BSD License',
        'Operating System :: Microsoft :: Windows :: Windows 11',
        'Programming Language :: Python :: 3.10',
]
```

## Build the distribution

* delete any previous versions from the dist folder
* check version number in pyproject.toml

| Command | Result |
| --- | --- |
| python -m build |builds the application<br/> |
| twine upload --repository testpypi dist/* |upload distribution to testpypi, or<br/> |
| twine upload dist/* |upload distribution to pypi |