{"id":16778234,"url":"https://github.com/12rambau/pytest-copie","last_synced_at":"2025-03-17T02:31:38.534Z","repository":{"id":192809499,"uuid":"687476053","full_name":"12rambau/pytest-copie","owner":"12rambau","description":"The pytest plugin for your copier templates 📒","archived":false,"fork":false,"pushed_at":"2024-04-23T07:56:55.000Z","size":112,"stargazers_count":12,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-11T16:28:04.917Z","etag":null,"topics":["copier","pytest","pytest-plugin","python"],"latest_commit_sha":null,"homepage":"https://pytest-copie.readthedocs.io/en/latest/","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/12rambau.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-05T12:38:34.000Z","updated_at":"2024-06-26T14:32:52.916Z","dependencies_parsed_at":"2024-01-08T07:44:30.233Z","dependency_job_id":"aae467d5-3d80-43d1-b631-706696e5f3cf","html_url":"https://github.com/12rambau/pytest-copie","commit_stats":null,"previous_names":["12rambau/pytest-copie"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12rambau%2Fpytest-copie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12rambau%2Fpytest-copie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12rambau%2Fpytest-copie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/12rambau%2Fpytest-copie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/12rambau","download_url":"https://codeload.github.com/12rambau/pytest-copie/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243841125,"owners_count":20356440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["copier","pytest","pytest-plugin","python"],"created_at":"2024-10-13T07:27:13.856Z","updated_at":"2025-03-17T02:31:38.198Z","avatar_url":"https://github.com/12rambau.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\npytest-copie\n============\n\n.. image:: https://img.shields.io/badge/License-MIT-yellow.svg?logo=opensourceinitiative\u0026logoColor=white\n    :target: LICENSE\n    :alt: License: MIT\n\n.. image:: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?logo=git\u0026logoColor=white\n   :target: https://conventionalcommits.org\n   :alt: conventional commit\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://github.com/psf/black\n   :alt: Black badge\n\n.. image:: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?logo=prettier\u0026logoColor=white\n   :target: https://github.com/prettier/prettier\n   :alt: prettier badge\n\n.. image:: https://img.shields.io/badge/pre--commit-active-yellow?logo=pre-commit\u0026logoColor=white\n    :target: https://pre-commit.com/\n    :alt: pre-commit\n\n.. image:: https://img.shields.io/pypi/v/pytest-copie?color=blue\u0026logo=pypi\u0026logoColor=white\n    :target: https://pypi.org/project/pytest-copie/\n    :alt: PyPI version\n\n.. image:: https://img.shields.io/conda/v/conda-forge/pytest-copie?logo=condaforge\u0026logoColor=white\u0026color=blue\n   :target: https://anaconda.org/conda-forge/pytest-copie\n   :alt: Conda\n\n.. image:: https://img.shields.io/github/actions/workflow/status/12rambau/pytest-copie/unit.yaml?logo=github\u0026logoColor=white\n    :target: https://github.com/12rambau/pytest-copie/actions/workflows/unit.yaml\n    :alt: build\n\n.. image:: https://img.shields.io/codecov/c/github/12rambau/pytest-copie?logo=codecov\u0026logoColor=white\n    :target: https://codecov.io/gh/12rambau/pytest-copie\n    :alt: Test Coverage\n\n.. image:: https://img.shields.io/readthedocs/pytest-copie?logo=readthedocs\u0026logoColor=white\n    :target: https://pytest-copie.readthedocs.io/en/latest/\n    :alt: Documentation Status\n\nOverview\n--------\n\npytest-copie is a `pytest \u003chttps://github.com/pytest-dev/pytest\u003e`__ plugin that comes with a ``copie`` fixture which is a wrapper on top the `copier \u003chttps://github.com/copier-org/copier\u003e`__ API for generating projects. It helps you verify that your template is working as expected and takes care of cleaning up after running the tests. :ledger:\n\nIt is an adaptation of the `pytest-cookies \u003chttps://github.com/hackebrot/pytest-cookies\u003e`__ plugin for `copier \u003chttps://github.com/copier-org/copier\u003e`__ templates.\n\nIt’s here to help templates designers to check that everything works as expected on the generated files including (but not limited to):\n\n-   linting operations\n-   testing operations\n-   packaging operations\n-   documentation operations\n-   …\n\nInstallation\n------------\n\n**pytest-copie** is available on `PyPI \u003chttps://pypi.org/project/pytest-copie/\u003e`__ and can be installed with `pip \u003chttps://pip.pypa.io/en/stable/\u003e`__:\n\n.. code-block:: console\n\n    pip install pytest-copie\n\nUsage\n-----\n\nThe ``copie`` fixture will allow you to ``copy`` a template and run tests against it. It will also clean up the generated project after the tests have been run.\n\n.. code-block:: python\n\n    def test_template(copie):\n        res = copie.copy(extra_answers={\"repo_name\": \"helloworld\"})\n\n        assert res.exit_code == 0\n        assert res.exception is None\n        assert result.project_dir.is_dir()\n\nContext and template location can be fully customized, see our `documentation \u003chttps://pytest-copie.readthedocs.io\u003e`__ for more details.\n\nCredits\n-------\n\nThis package was created with `Copier \u003chttps://copier.readthedocs.io/en/latest/\u003e`__ and the `@12rambau/pypackage \u003chttps://github.com/12rambau/pypackage\u003e`__ 0.1.11 project template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F12rambau%2Fpytest-copie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F12rambau%2Fpytest-copie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F12rambau%2Fpytest-copie/lists"}