cookiecutter-ml


Namecookiecutter-ml JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttps://github.com/DeepakPant93/cookiecutter-ml
SummaryA python cookiecutter application to create a new python project for machine learning application that uses poetry to manage its dependencies.
upload_time2024-12-17 11:52:03
maintainerNone
docs_urlNone
authorDeepak Pant
requires_python<4.0,>=3.8
licenseNone
keywords cookiecutter template poetry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Cookiecutter Machine Learning Template

This is a modern **Cookiecutter** template for initializing Python projects, particularly for **machine learning**. It provides a comprehensive setup for development, testing, and deployment, incorporating essential tools for effective project management.

## Features

This template includes the following features:

-   **[Poetry](https://python-poetry.org/)** for dependency management
-   **CI/CD** with **[GitHub Actions](https://github.com/features/actions)**
-   **Pre-commit hooks** using **[pre-commit](https://pre-commit.com/)**
-   **Code quality checks** with **[ruff](https://github.com/charliermarsh/ruff)**, **[mypy](https://mypy.readthedocs.io/en/stable/)**, **[deptry](https://github.com/fpgmaas/deptry/)**, and **[prettier](https://prettier.io/)**
-   **Publishing to [PyPI](https://pypi.org)** via GitHub releases
-   **Testing and coverage** with **[pytest](https://docs.pytest.org/en/7.1.x/)** and **[codecov](https://about.codecov.io/)**
-   **Documentation generation** with **[MkDocs](https://www.mkdocs.org/)**
-   **Python compatibility testing** with **[Tox](https://tox.wiki/en/latest/)**
-   **Containerization** using **[Docker](https://www.docker.com/)**
-   **Development environment** with **[VSCode devcontainers](https://code.visualstudio.com/docs/devcontainers/containers)**
-   **Deployment** with **[Azure Container Apps](https://azure.microsoft.com/en-in/products/container-apps)**
-   **Data Version Control (DVC)** support for managing data files ([DVC Docs](https://dvc.org/))

You can find an example repository created using this template [here](https://github.com/DeepakPant93/cookiecutter-ml).

## Quickstart

To get started, follow these steps:

### Step 1: Install `cookiecutter-ml`

First, navigate to the directory where you want to create the project and run:

```bash
pip install cookiecutter-ml
```

Alternatively, you can install **cookiecutter** and use the GitHub repository URL directly:

```bash
pip install cookiecutter
cookiecutter git@github.com:DeepakPant93/cookiecutter-ml.git
```

### Step 2: Create a GitHub Repository

Create a new repository on GitHub, then run the following commands in your terminal, replacing `<project-name>` with your GitHub repository name and `<github_author_handle>` with your GitHub username:

```bash
cd <project_name>
git init -b main
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:<github_author_handle>/<project_name>.git
git push -u origin main
```

### Step 3: Install the Environment and Pre-commit Hooks

Run the following command to install the environment and pre-commit hooks:

```bash
make bake-env
```

Now you're all set to start development! The CI/CD pipeline will automatically trigger on pull requests, merges to the main branch, and new releases.

For instructions on publishing to **PyPI**, refer to [this guide](./features/publishing.md#set-up-for-pypi). To enable automatic documentation with **MkDocs**, follow the steps in [this guide](./features/mkdocs.md). For code coverage setup, refer to [this guide](./features/codecov.md).

## Documentation

You can find the documentation for this template [here](https://DeepakPant93.github.io/cookiecutter-ml/).

## Acknowledgements

This project is inspired by **[Audrey Feldroy's](https://github.com/audreyfeldroy)** excellent work on the [cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage) template.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/DeepakPant93/cookiecutter-ml",
    "name": "cookiecutter-ml",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "cookiecutter, template, poetry",
    "author": "Deepak Pant",
    "author_email": "DeepakPant93@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/13/72/cef7397e7892282d9e1b2b6a412e06b09761b53dd4ec369fbd9f2b74cc7a/cookiecutter_ml-0.0.3.tar.gz",
    "platform": null,
    "description": "# Cookiecutter Machine Learning Template\n\nThis is a modern **Cookiecutter** template for initializing Python projects, particularly for **machine learning**. It provides a comprehensive setup for development, testing, and deployment, incorporating essential tools for effective project management.\n\n## Features\n\nThis template includes the following features:\n\n-   **[Poetry](https://python-poetry.org/)** for dependency management\n-   **CI/CD** with **[GitHub Actions](https://github.com/features/actions)**\n-   **Pre-commit hooks** using **[pre-commit](https://pre-commit.com/)**\n-   **Code quality checks** with **[ruff](https://github.com/charliermarsh/ruff)**, **[mypy](https://mypy.readthedocs.io/en/stable/)**, **[deptry](https://github.com/fpgmaas/deptry/)**, and **[prettier](https://prettier.io/)**\n-   **Publishing to [PyPI](https://pypi.org)** via GitHub releases\n-   **Testing and coverage** with **[pytest](https://docs.pytest.org/en/7.1.x/)** and **[codecov](https://about.codecov.io/)**\n-   **Documentation generation** with **[MkDocs](https://www.mkdocs.org/)**\n-   **Python compatibility testing** with **[Tox](https://tox.wiki/en/latest/)**\n-   **Containerization** using **[Docker](https://www.docker.com/)**\n-   **Development environment** with **[VSCode devcontainers](https://code.visualstudio.com/docs/devcontainers/containers)**\n-   **Deployment** with **[Azure Container Apps](https://azure.microsoft.com/en-in/products/container-apps)**\n-   **Data Version Control (DVC)** support for managing data files ([DVC Docs](https://dvc.org/))\n\nYou can find an example repository created using this template [here](https://github.com/DeepakPant93/cookiecutter-ml).\n\n## Quickstart\n\nTo get started, follow these steps:\n\n### Step 1: Install `cookiecutter-ml`\n\nFirst, navigate to the directory where you want to create the project and run:\n\n```bash\npip install cookiecutter-ml\n```\n\nAlternatively, you can install **cookiecutter** and use the GitHub repository URL directly:\n\n```bash\npip install cookiecutter\ncookiecutter git@github.com:DeepakPant93/cookiecutter-ml.git\n```\n\n### Step 2: Create a GitHub Repository\n\nCreate a new repository on GitHub, then run the following commands in your terminal, replacing `<project-name>` with your GitHub repository name and `<github_author_handle>` with your GitHub username:\n\n```bash\ncd <project_name>\ngit init -b main\ngit add .\ngit commit -m \"Initial commit\"\ngit remote add origin git@github.com:<github_author_handle>/<project_name>.git\ngit push -u origin main\n```\n\n### Step 3: Install the Environment and Pre-commit Hooks\n\nRun the following command to install the environment and pre-commit hooks:\n\n```bash\nmake bake-env\n```\n\nNow you're all set to start development! The CI/CD pipeline will automatically trigger on pull requests, merges to the main branch, and new releases.\n\nFor instructions on publishing to **PyPI**, refer to [this guide](./features/publishing.md#set-up-for-pypi). To enable automatic documentation with **MkDocs**, follow the steps in [this guide](./features/mkdocs.md). For code coverage setup, refer to [this guide](./features/codecov.md).\n\n## Documentation\n\nYou can find the documentation for this template [here](https://DeepakPant93.github.io/cookiecutter-ml/).\n\n## Acknowledgements\n\nThis project is inspired by **[Audrey Feldroy's](https://github.com/audreyfeldroy)** excellent work on the [cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage) template.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A python cookiecutter application to create a new python project for machine learning application that uses poetry to manage its dependencies.",
    "version": "0.0.3",
    "project_urls": {
        "Documentation": "https://DeepakPant93.github.io/cookiecutter-ml/",
        "Homepage": "https://github.com/DeepakPant93/cookiecutter-ml",
        "Repository": "https://github.com/DeepakPant93/cookiecutter-ml"
    },
    "split_keywords": [
        "cookiecutter",
        " template",
        " poetry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a507b48815777a865155732ea6eb9bed7e940a84a2b43c7e942500082c1ad0eb",
                "md5": "6cc633bb303c0f61be0d87be8b96053e",
                "sha256": "3994e3fa4fe53e27696dad15d2d1a233e2bac26e4592aa1aeba205bd4434a641"
            },
            "downloads": -1,
            "filename": "cookiecutter_ml-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6cc633bb303c0f61be0d87be8b96053e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 123091,
            "upload_time": "2024-12-17T11:52:02",
            "upload_time_iso_8601": "2024-12-17T11:52:02.167996Z",
            "url": "https://files.pythonhosted.org/packages/a5/07/b48815777a865155732ea6eb9bed7e940a84a2b43c7e942500082c1ad0eb/cookiecutter_ml-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1372cef7397e7892282d9e1b2b6a412e06b09761b53dd4ec369fbd9f2b74cc7a",
                "md5": "153babf6fef1e3ffb2ed5878415910b3",
                "sha256": "6e19f7bb0fdddd4889be1984e7e34fefa011b47ad45300f546daa42f78d6e973"
            },
            "downloads": -1,
            "filename": "cookiecutter_ml-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "153babf6fef1e3ffb2ed5878415910b3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 110054,
            "upload_time": "2024-12-17T11:52:03",
            "upload_time_iso_8601": "2024-12-17T11:52:03.665077Z",
            "url": "https://files.pythonhosted.org/packages/13/72/cef7397e7892282d9e1b2b6a412e06b09761b53dd4ec369fbd9f2b74cc7a/cookiecutter_ml-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-17 11:52:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DeepakPant93",
    "github_project": "cookiecutter-ml",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "cookiecutter-ml"
}
        
Elapsed time: 0.43820s