|
| 1 | +usethis # usethis: Automate Python project setup and development tasks that are otherwise performed manually. |
| 2 | +├── __main__ # The CLI application for usethis. |
| 3 | +├── _config # Global configuration state for usethis. |
| 4 | +├── _config_file # Context managers for coordinated configuration file I/O. |
| 5 | +├── _console # Console output helpers for styled and structured printing. |
| 6 | +├── _deps # Dependency management operations for project dependency groups. |
| 7 | +├── _fallback # Central module for hard-coded fallback version constants. |
| 8 | +├── _init # Project initialization and build system setup. |
| 9 | +├── _subprocess # Subprocess invocation utilities. |
| 10 | +├── _test # Test utilities and fixtures for the usethis test suite. |
| 11 | +├── errors # Custom errors for the usethis package. |
| 12 | +├── _backend # Backend dispatch and tool-specific backend implementations. |
| 13 | +│ ├── dispatch # Backend selection and dispatch logic. |
| 14 | +│ ├── poetry # Poetry backend implementation. |
| 15 | +│ │ └── detect # Detection of Poetry usage in a project. |
| 16 | +│ └── uv # uv backend implementation. |
| 17 | +│ ├── available # Check whether the uv CLI is available. |
| 18 | +│ ├── call # Subprocess wrappers for invoking uv commands. |
| 19 | +│ ├── deps # Dependency group operations via the uv backend. |
| 20 | +│ ├── detect # Detection of uv usage in a project. |
| 21 | +│ ├── errors # Error types for the uv backend. |
| 22 | +│ ├── init # Project initialization via uv. |
| 23 | +│ ├── link_mode # Symlink link-mode configuration for uv. |
| 24 | +│ ├── lockfile # Lock file creation and management for uv. |
| 25 | +│ ├── python # Python version queries via uv. |
| 26 | +│ ├── toml # Manager for the uv.toml configuration file. |
| 27 | +│ └── version # Retrieve the installed uv version. |
| 28 | +├── _core # Core business logic for usethis commands. |
| 29 | +│ ├── author # Author metadata management for pyproject.toml. |
| 30 | +│ ├── badge # README badge generation and management. |
| 31 | +│ ├── browse # Open project-related URLs in a browser. |
| 32 | +│ ├── docstyle # Docstring style configuration. |
| 33 | +│ ├── list # List tools and their usage status. |
| 34 | +│ ├── readme # README file creation and management. |
| 35 | +│ ├── rule # Linter rule selection and configuration. |
| 36 | +│ ├── show # Display project information. |
| 37 | +│ ├── status # Development status classifier management. |
| 38 | +│ └── tool # Tool functions to add/remove tools to/from the project. |
| 39 | +├── _detect # The detections module. |
| 40 | +│ ├── pre_commit # Detection of pre-commit usage in a project. |
| 41 | +│ └── readme # Detection of README file presence. |
| 42 | +├── _file # Configuration file reading, writing, and merging. |
| 43 | +│ ├── dir # Project directory name utilities. |
| 44 | +│ ├── manager # Base file manager classes for configuration file I/O. |
| 45 | +│ ├── merge # Deep merge utilities for nested mappings. |
| 46 | +│ ├── print_ # Pretty-printing helpers for configuration file keys. |
| 47 | +│ ├── types_ # Shared type aliases for file operations. |
| 48 | +│ ├── ini # INI file reading and writing. |
| 49 | +│ │ ├── errors # Error types for INI file operations. |
| 50 | +│ │ └── io_ # INI file I/O manager. |
| 51 | +│ ├── pyproject_toml # pyproject.toml file reading and writing. |
| 52 | +│ │ ├── errors # Error types for pyproject.toml operations. |
| 53 | +│ │ ├── io_ # pyproject.toml file I/O manager. |
| 54 | +│ │ ├── name # Project name and description extraction from pyproject.toml. |
| 55 | +│ │ ├── project # Access the [project] section of pyproject.toml. |
| 56 | +│ │ ├── remove # Removal of the pyproject.toml file. |
| 57 | +│ │ ├── requires_python # Python version requirement queries from pyproject.toml. |
| 58 | +│ │ └── valid # Validation and repair of pyproject.toml structure. |
| 59 | +│ ├── setup_cfg # setup.cfg file reading and writing. |
| 60 | +│ │ ├── errors # Error types for setup.cfg operations. |
| 61 | +│ │ └── io_ # setup.cfg file I/O manager. |
| 62 | +│ ├── toml # TOML file reading and writing. |
| 63 | +│ │ ├── errors # Error types for TOML file operations. |
| 64 | +│ │ └── io_ # TOML file I/O manager. |
| 65 | +│ └── yaml # YAML file reading and writing. |
| 66 | +│ ├── errors # Error types for YAML file operations. |
| 67 | +│ ├── io_ # YAML file I/O manager. |
| 68 | +│ ├── typing_ # Type aliases for YAML document values. |
| 69 | +│ └── update # Smart update strategies for YAML sequences and mappings. |
| 70 | +├── _integrations # Third-party tool integrations. |
| 71 | +│ ├── ci # CI platform integrations. |
| 72 | +│ │ └── github # GitHub CI integration. |
| 73 | +│ │ ├── errors # Error types for GitHub CI operations. |
| 74 | +│ │ └── tags # GitHub repository tag fetching. |
| 75 | +│ ├── environ # Environment detection utilities. |
| 76 | +│ │ └── python # Python version environment queries. |
| 77 | +│ ├── mkdocs # MkDocs documentation integration. |
| 78 | +│ │ └── core # MkDocs project setup and configuration. |
| 79 | +│ ├── pre_commit # Pre-commit hook framework integration. |
| 80 | +│ │ ├── cmd_ # Pre-commit command constants. |
| 81 | +│ │ ├── core # Core pre-commit setup and teardown operations. |
| 82 | +│ │ ├── errors # Error types for pre-commit operations. |
| 83 | +│ │ ├── hooks # Pre-commit hook addition and removal. |
| 84 | +│ │ ├── init # Initialization of the pre-commit configuration file. |
| 85 | +│ │ ├── language # Pre-commit language keyword resolution. |
| 86 | +│ │ ├── schema # Pydantic models for the pre-commit configuration schema. |
| 87 | +│ │ ├── version # Pre-commit version inference. |
| 88 | +│ │ └── yaml # YAML file manager for the pre-commit configuration. |
| 89 | +│ ├── project # Project structure and metadata integration. |
| 90 | +│ │ ├── build # Build system detection for the project. |
| 91 | +│ │ ├── errors # Error types for project integration operations. |
| 92 | +│ │ ├── imports # Import graph analysis for the project. |
| 93 | +│ │ ├── layout # Project source directory layout detection. |
| 94 | +│ │ ├── name # Project name resolution with fallback heuristics. |
| 95 | +│ │ └── packages # Importable package discovery. |
| 96 | +│ ├── pydantic # Pydantic model utilities. |
| 97 | +│ │ ├── dump # Pydantic model serialization helpers. |
| 98 | +│ │ └── typing_ # Type aliases for Pydantic model representations. |
| 99 | +│ ├── pytest # pytest test framework integration. |
| 100 | +│ │ └── core # pytest directory and configuration setup. |
| 101 | +│ ├── readme # README file integration. |
| 102 | +│ │ └── path # README file path resolution. |
| 103 | +│ └── sonarqube # SonarQube integration. |
| 104 | +│ ├── config # SonarQube project configuration management. |
| 105 | +│ └── errors # Error types for SonarQube operations. |
| 106 | +├── _pipeweld # Pipeline welding algorithm for dependency-aware ordering. |
| 107 | +│ ├── containers # Container data structures for pipeline compositions. |
| 108 | +│ ├── func # Pipeline welding functions. |
| 109 | +│ ├── ops # Operation and instruction types for pipeline welding. |
| 110 | +│ └── result # Result types for pipeline welding. |
| 111 | +├── _python # Python language utilities. |
| 112 | +│ └── version # Utilities for Python version information. |
| 113 | +├── _tool # Tool management framework. |
| 114 | +│ ├── all_ # Registry of all available tools. |
| 115 | +│ ├── base # Base classes for tool implementations. |
| 116 | +│ ├── config # Configuration specification types for tools. |
| 117 | +│ ├── heuristics # Heuristic fallbacks for tool configuration. |
| 118 | +│ ├── pre_commit # Pre-commit hook specification types for tools. |
| 119 | +│ ├── rule # Lint rule specification types for tools. |
| 120 | +│ ├── spec # Abstract tool specification base classes. |
| 121 | +│ └── impl # Concrete tool implementations. |
| 122 | +│ ├── base # Tool base implementations with side effects. |
| 123 | +│ │ ├── codespell # Codespell tool implementation. |
| 124 | +│ │ ├── coverage_py # Coverage.py tool implementation. |
| 125 | +│ │ ├── deptry # deptry tool implementation. |
| 126 | +│ │ ├── import_linter # Import Linter tool implementation. |
| 127 | +│ │ ├── mkdocs # MkDocs tool implementation. |
| 128 | +│ │ ├── pre_commit # pre-commit tool implementation. |
| 129 | +│ │ ├── pyproject_fmt # pyproject-fmt tool implementation. |
| 130 | +│ │ ├── pyproject_toml # pyproject.toml as a managed tool. |
| 131 | +│ │ ├── pytest # pytest tool implementation. |
| 132 | +│ │ ├── requirements_txt # requirements.txt tool implementation. |
| 133 | +│ │ ├── ruff # Ruff tool implementation. |
| 134 | +│ │ └── ty # ty tool implementation. |
| 135 | +│ └── spec # Tool specification implementations. |
| 136 | +│ ├── codespell # Codespell tool specification. |
| 137 | +│ ├── coverage_py # Coverage.py tool specification. |
| 138 | +│ ├── deptry # deptry tool specification. |
| 139 | +│ ├── import_linter # Import Linter tool specification. |
| 140 | +│ ├── mkdocs # MkDocs tool specification. |
| 141 | +│ ├── pre_commit # pre-commit tool specification. |
| 142 | +│ ├── pyproject_fmt # pyproject-fmt tool specification. |
| 143 | +│ ├── pyproject_toml # pyproject.toml tool specification. |
| 144 | +│ ├── pytest # pytest tool specification. |
| 145 | +│ ├── requirements_txt # requirements.txt tool specification. |
| 146 | +│ ├── ruff # Ruff tool specification. |
| 147 | +│ └── ty # ty tool specification. |
| 148 | +├── _toolset # Predefined groups of related tools. |
| 149 | +│ ├── arch # Architecture enforcement toolset. |
| 150 | +│ ├── doc # Documentation toolset. |
| 151 | +│ ├── format_ # Code formatting toolset. |
| 152 | +│ ├── hook # Git hook framework toolset. |
| 153 | +│ ├── lint # Linting toolset. |
| 154 | +│ ├── spellcheck # Spell checking toolset. |
| 155 | +│ ├── test # Testing toolset. |
| 156 | +│ └── typecheck # Type checking toolset. |
| 157 | +├── _types # Shared type definitions and enumerations. |
| 158 | +│ ├── backend # Backend enumeration for package manager selection. |
| 159 | +│ ├── build_backend # Build backend enumeration for packaging tool selection. |
| 160 | +│ ├── deps # Dependency model definitions. |
| 161 | +│ ├── docstyle # Docstring style enumeration. |
| 162 | +│ └── status # Development status enumeration for classifiers. |
| 163 | +└── _ui # User interface layer for the CLI. |
| 164 | + ├── app # The Typer application for usethis. |
| 165 | + ├── options # Shared Typer option definitions. |
| 166 | + └── interface # Typer command interface modules. |
| 167 | + ├── arch # CLI commands for architecture enforcement tools. |
| 168 | + ├── author # CLI commands for managing project authors. |
| 169 | + ├── badge # CLI commands for managing README badges. |
| 170 | + ├── browse # CLI commands for browsing project resources. |
| 171 | + ├── doc # CLI commands for documentation tools. |
| 172 | + ├── docstyle # CLI commands for docstring style configuration. |
| 173 | + ├── format_ # CLI commands for code formatting tools. |
| 174 | + ├── hook # CLI commands for git hook framework tools. |
| 175 | + ├── init # CLI commands for project initialization. |
| 176 | + ├── lint # CLI commands for linting tools. |
| 177 | + ├── list # CLI commands for showing out the full usage table. |
| 178 | + ├── readme # CLI commands for README management. |
| 179 | + ├── rule # CLI commands for linter rule management. |
| 180 | + ├── show # CLI commands for showing project information. |
| 181 | + ├── spellcheck # CLI commands for spell checking tools. |
| 182 | + ├── status # CLI commands for development status configuration. |
| 183 | + ├── test # CLI commands for testing tools. |
| 184 | + ├── tool # CLI commands for individual tool management. |
| 185 | + ├── typecheck # CLI commands for type checking tools. |
| 186 | + └── version # CLI commands for displaying version information. |
0 commit comments