{"id":45024769,"url":"https://github.com/mugubr/typysetup","last_synced_at":"2026-02-19T03:03:06.013Z","repository":{"id":336001721,"uuid":"1143060364","full_name":"mugubr/typysetup","owner":"mugubr","description":"Interactive Python environment setup CLI for VSCode. Automatically configure Python projects with proper virtual environments, dependencies, and VSCode settings.","archived":false,"fork":false,"pushed_at":"2026-02-09T22:49:18.000Z","size":303,"stargazers_count":8,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-10T02:37:38.012Z","etag":null,"topics":["cli","python","setup","typer","vscode"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mugubr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T06:10:07.000Z","updated_at":"2026-02-09T22:49:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mugubr/typysetup","commit_stats":null,"previous_names":["mugubr/typysetup"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mugubr/typysetup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugubr%2Ftypysetup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugubr%2Ftypysetup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugubr%2Ftypysetup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugubr%2Ftypysetup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mugubr","download_url":"https://codeload.github.com/mugubr/typysetup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mugubr%2Ftypysetup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29601508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T02:50:40.506Z","status":"ssl_error","status_checked_at":"2026-02-19T02:50:26.316Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","python","setup","typer","vscode"],"created_at":"2026-02-19T03:03:04.159Z","updated_at":"2026-02-19T03:03:06.008Z","avatar_url":"https://github.com/mugubr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TyPySetup - Python Environment Setup CLI\n\nInteractive Python environment setup CLI for VSCode. Automatically configure Python projects with proper virtual environments, dependencies, and VSCode settings.\n\n## Features\n\n- 🎯 **Interactive Menu** - Select from 6 project type templates (FastAPI, Django, Data Science, CLI Tools, Async/Real-time, ML/AI)\n- 🔧 **Automatic Setup** - Create virtual environment, install dependencies, generate VSCode configs\n- 📦 **Multiple Package Managers** - Support for uv (fast), pip (universal), and poetry (lock files)\n- ⚙️ **Smart Configuration** - VSCode settings optimized per project type, non-destructive merging\n- 💾 **Preference Persistence** - Remember your choices for faster future setups\n- 🔄 **Graceful Cancellation** - Cancel between phases with automatic rollback\n\n## Quick Start\n\n### Installation\n\n```bash\n# Install from PyPI (recommended)\npip install typysetup\n\n# Or with uv\nuv tool install typysetup\n\n# Install from source (development)\ngit clone \u003crepository\u003e\ncd typysetup\npip install -e .\n```\n\n### Basic Usage\n\n```bash\n# Interactive setup wizard\ntypysetup setup /path/to/project\n\n# List available setup types\ntypysetup list\n\n# Manage preferences\ntypysetup preferences --show\n```\n\n### Example: FastAPI Project\n\n```bash\n$ typysetup setup ~/my-api\n? Choose a setup type: FastAPI\n? Package manager (uv recommended): uv\n? Proceed with setup? [Y/n]: y\n\nCreating virtual environment...\nInstalling dependencies (14 packages)...\nGenerating VSCode configuration...\n\n✓ Setup complete! Next steps:\n  - Activate: source ~/my-api/venv/bin/activate\n  - Open VSCode: code ~/my-api\n  - Start coding: fastapi dev main.py\n```\n\n## Project Structure\n\n```bash\ntypysetup/\n├── src/typysetup/\n│   ├── main.py                # Typer CLI application\n│   ├── models/                # Pydantic data models\n│   ├── commands/              # CLI command classes (OOP)\n│   │   ├── config_cmd.py      # ConfigCommand\n│   │   ├── help_cmd.py        # HelpCommand\n│   │   ├── history_cmd.py     # HistoryCommand\n│   │   ├── list_cmd.py        # ListCommand\n│   │   ├── preferences_cmd.py # PreferencesCommand\n│   │   └── setup_orchestrator.py # SetupOrchestrator (main wizard)\n│   ├── core/                  # Business logic (config loading, venv, deps, vscode)\n│   ├── utils/                 # Utilities (paths, prompts, rollback)\n│   └── configs/               # Setup type YAML templates\n├── tests/\n│   ├── unit/                  # Unit tests\n│   ├── integration/           # Integration tests\n│   └── conftest.py           # Pytest fixtures\n└── pyproject.toml            # Project metadata and dependencies\n```\n\n## Setup Types\n\n### FastAPI\n\nWeb API with FastAPI framework - async, modern, fast\n\n- Python: 3.10+\n- Core: fastapi, uvicorn, pydantic\n- Dev: pytest, black, ruff\n\n### Django\n\nFull-stack web framework with batteries included\n\n- Python: 3.8+\n- Core: django, djangorestframework\n- Dev: pytest, black, ruff\n\n### Data Science\n\nJupyter-based data analysis and ML workflows\n\n- Python: 3.9+\n- Core: pandas, numpy, jupyter, scikit-learn\n- Dev: pytest, black, ruff\n\n### CLI Tool\n\nCommand-line applications using Typer/Click\n\n- Python: 3.8+\n- Core: typer, click, rich\n- Dev: pytest, black, ruff\n\n### Async/Real-time\n\nHigh-performance async and real-time applications\n\n- Python: 3.10+\n- Core: asyncio, aiohttp, websockets, starlette\n- Dev: pytest, black, ruff\n\n### ML/AI\n\nMachine learning and AI model development\n\n- Python: 3.9+\n- Core: tensorflow, torch, transformers, scikit-learn\n- Dev: pytest, black, ruff\n\n## Technology Stack\n\n- **Language**: Python 3.8+\n- **CLI Framework**: Typer (type-safe, beautiful)\n- **Data Validation**: Pydantic (runtime validation)\n- **Configuration**: YAML + PyYAML (human-friendly)\n- **Terminal UI**: Rich + Questionary (interactive prompts)\n- **Virtual Environment**: Built-in venv module\n- **Package Managers**: uv (primary), pip, poetry\n- **Testing**: pytest + pytest-cov\n- **Code Quality**: black, ruff, mypy\n\n## Development\n\n### Setup Development Environment\n\n```bash\n# Create virtual environment\npython -m venv .venv\nsource .venv/bin/activate  # or .venv\\Scripts\\activate on Windows\n\n# Install development dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Run with coverage\npytest --cov=src/typysetup\n```\n\n### Code Quality\n\n```bash\n# Format code\nblack src/ tests/\n\n# Lint code\nruff check src/ tests/\n\n# Type checking\nmypy src/typysetup\n```\n\n## Testing\n\n```bash\n# Run all tests\npytest\n\n# Run unit tests only\npytest tests/unit/\n\n# Run integration tests\npytest tests/integration/\n\n# Run with coverage report\npytest --cov=src/typysetup --cov-report=html\n```\n\n## Architecture\n\nSee [ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture documentation.\n\n## Configuration\n\nUser preferences are stored in `~/.typysetup/preferences.json`:\n\n```json\n{\n  \"preferred_manager\": \"uv\",\n  \"preferred_python_version\": \"3.11\",\n  \"preferred_setup_types\": [\"fastapi\"],\n  \"setup_history\": []\n}\n```\n\n## Commands\n\n### `typysetup setup`\n\nInteractive setup wizard - guides you through project configuration.\n\n```bash\ntypysetup setup /path/to/project [--verbose]\n```\n\n**Options**:\n\n- `--verbose, -v`: Enable detailed logging output\n\n**Example**:\n\n```bash\ntypysetup setup ~/my-fastapi-app --verbose\n```\n\n### `typysetup list`\n\nList all available setup type templates.\n\n```bash\ntypysetup list\n```\n\n### `typysetup preferences`\n\nManage user preferences and view setup history.\n\n```bash\ntypysetup preferences --show   # View current preferences\ntypysetup preferences --reset  # Reset to defaults\n```\n\n### `typysetup config`\n\nDisplay project configuration.\n\n```bash\ntypysetup config /path/to/project\n```\n\n### `typysetup history`\n\nView recent setup history.\n\n```bash\ntypysetup history [--limit 10] [--verbose]\n```\n\n### `typysetup help`\n\nShow detailed help and usage examples.\n\n```bash\ntypysetup help [topic]  # Topics: setup, workflows, preferences\n```\n\n## Common Workflows\n\n### Creating a New FastAPI Project\n\n```bash\nmkdir my-api\ncd my-api\ntypysetup setup .\n# Select \"FastAPI\" from menu\n# Choose \"uv\" as package manager\nsource venv/bin/activate\ncode .\n```\n\n### Data Science Project with Jupyter\n\n```bash\ntypysetup setup ml-analysis\n# Select \"Data Science\"\ncd ml-analysis\nsource venv/bin/activate\njupyter notebook\n```\n\n### Converting Existing Project\n\n```bash\ncd existing-project\ntypysetup setup .\n# TyPySetup will detect and preserve existing files\n# Select appropriate setup type\n```\n\n## Troubleshooting\n\nFor detailed troubleshooting guide, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md).\n\n### Quick Fixes\n\n**Python not found**:\n\n```bash\npython --version  # Ensure 3.8+\n```\n\n**Command not found**:\n\n```bash\npip install typysetup\n# or\npip install --user typysetup\n```\n\n**Permission denied**:\n\n```bash\nchmod u+w /path/to/project\n```\n\n**VSCode not recognizing venv**:\n\n- Reload window: `Ctrl+Shift+P` → \"Developer: Reload Window\"\n- Select interpreter: `Ctrl+Shift+P` → \"Python: Select Interpreter\"\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nMIT License - see LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmugubr%2Ftypysetup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmugubr%2Ftypysetup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmugubr%2Ftypysetup/lists"}