Metadata-Version: 2.3
Name: whiteduck
Version: 0.3.5
Summary: Add your description here
Requires-Python: >=3.10
Requires-Dist: art>=6.3
Requires-Dist: cerberus>=1.3.5
Requires-Dist: click>=8.1.7
Requires-Dist: loguru>=0.7.2
Requires-Dist: msgspec>=0.18.6
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: questionary>=2.0.1
Requires-Dist: rich>=13.9.2
Requires-Dist: types-pyyaml>=6.0.12.20240917
Provides-Extra: docs
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == 'docs'
Requires-Dist: mkdocs-literate-nav>=0.6.1; extra == 'docs'
Requires-Dist: mkdocs-material>=9.5.40; extra == 'docs'
Requires-Dist: mkdocs-section-index>=0.3.9; extra == 'docs'
Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
Requires-Dist: mkdocstrings-python>=1.12.1; extra == 'docs'
Requires-Dist: mkdocstrings>=0.26.2; extra == 'docs'
Provides-Extra: test-pytest
Requires-Dist: pytest-clarity>=1.0.1; extra == 'test-pytest'
Requires-Dist: pytest-cov>=5.0.0; extra == 'test-pytest'
Requires-Dist: pytest-sugar>=1.0.0; extra == 'test-pytest'
Requires-Dist: pytest>=8.3.3; extra == 'test-pytest'
Description-Content-Type: text/markdown


# white duck templater

Welcome to the Python Project Starter! This tool allows you to quickly generate and configure Python project templates tailored to different types of development workflows, from general-purpose projects to specialized setups like data science or web applications. With built-in wizards, dependency management, and ready-to-use configurations, you can start coding right away with minimal setup hassle.

## Features

- **Automated Project Setup**: Create fully-configured Python projects in minutes with essential dependencies and tools pre-installed.
- **Modular and Flexible**: Choose from a variety of templates, each designed to support specific development needs such as libraries, web apps, CLI tools, or data science projects.
- **Configuration Wizard**: A step-by-step guide to configure your project type, name, and directory, with options to customize dependencies and modules.
- **Pre-configured Development Tools**: Includes options for setting up linting, testing, profiling, logging, and more, with popular tools like `pytest`, `mypy`, `Black`, and `Loguru`.
- **Documentation Generation**: Templates include support for `MkDocs` and `MkDocs Material` to make it easy to document your project.

## Templates Available

The app comes with pre-built templates to support various types of projects:

- **White Duck Python Stack**: A versatile template with essential development tools for general Python projects.
- **Python Data Science Project Stack**: A data science-focused template, pre-configured with libraries for data manipulation, visualization, and machine learning.

You can also extend and customize these templates to include additional dependencies or features specific to your project needs.

## Getting Started

1. **Clone the Repository**: 
   ```bash
   git clone https://github.com/yourusername/python-project-starter.git
   cd python-project-starter
   ```

2. **Select a Template**: 
   Open the app and select the template that best suits your project type. Each template includes a setup wizard that will guide you through the configuration.

3. **Configure Your Project**:
   - **Project Type**: Choose the project type based on your workflow (e.g., library, web app, CLI tool, data science).
   - **Project Name and Directory**: Specify the name and directory where you want the project to be created.
   - **Modules and Dependencies**: Select additional modules and dependencies you want to include, such as `pre-commit`, `pytest`, `Black`, and others.
  
4. **Run the Setup Wizard**:
   Follow the prompts to configure the project. The wizard will install dependencies, set up project structure, and configure any selected tools.

5. **Initialize the Project**:
   Once configured, the app will initialize the project with the specified tools and settings. You’re now ready to start coding!

## Modules and Dependencies

Each template includes a set of default tools that can be extended or customized. Below is an overview of the main dependencies included:

- **Development Tools**: `pre-commit`, `pytest`, `Black`, `Flake8`, `Mypy`, `Loguru`
- **Data Science Libraries** (Data Science Stack): `pandas`, `numpy`, `matplotlib`, `seaborn`, `scikit-learn`, `Jupyter Notebook`
- **Documentation**: `MkDocs`, `MkDocs Material`

These tools help ensure code quality, facilitate testing, and support interactive data exploration and visualization.

## Adding Custom Templates

You can extend the app by creating custom templates. Simply create a new YAML file in the `templates` directory with your desired configuration. Ensure the structure follows the same format as the existing templates, and the app will recognize your custom template during setup.

## Contributing

If you'd like to contribute to the project, feel free to submit a pull request. We welcome improvements, new templates, and feature enhancements!

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
