{"id":28513050,"url":"https://github.com/mjun0812/python-copier-template","last_synced_at":"2026-04-17T15:33:33.220Z","repository":{"id":297811132,"uuid":"997962143","full_name":"mjun0812/python-copier-template","owner":"mjun0812","description":"A simple modern Python project template powered by Copier with uv, Docker, Claude Code, Cursor, devcontainer, GitHub Actions, and pre-commit support.","archived":false,"fork":false,"pushed_at":"2025-09-26T17:16:33.000Z","size":50,"stargazers_count":19,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-26T17:35:48.173Z","etag":null,"topics":["claudecode","copier-template","cursor","devcontainer","docker","docker-compose","github-actions","pre-commit","python","uv"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/mjun0812.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"mjun0812","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-06-07T15:17:40.000Z","updated_at":"2025-09-26T17:15:51.000Z","dependencies_parsed_at":"2025-06-07T16:44:14.606Z","dependency_job_id":"c2b5831f-f5b7-4dec-b042-96bc3589e3f7","html_url":"https://github.com/mjun0812/python-copier-template","commit_stats":null,"previous_names":["mjun0812/python-copier-template"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/mjun0812/python-copier-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjun0812%2Fpython-copier-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjun0812%2Fpython-copier-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjun0812%2Fpython-copier-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjun0812%2Fpython-copier-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjun0812","download_url":"https://codeload.github.com/mjun0812/python-copier-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjun0812%2Fpython-copier-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31934349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"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":["claudecode","copier-template","cursor","devcontainer","docker","docker-compose","github-actions","pre-commit","python","uv"],"created_at":"2025-06-09T01:06:04.319Z","updated_at":"2026-04-17T15:33:33.216Z","avatar_url":"https://github.com/mjun0812.png","language":"Dockerfile","readme":"# Python Copier Template\n\n[![Copier](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/copier-org/copier/master/img/badge/badge-black.json)](https://github.com/copier-org/copier)\n[![Test](https://github.com/mjun0812/python-copier-template/actions/workflows/test.yml/badge.svg)](https://github.com/mjun0812/python-copier-template/actions/workflows/test.yml)\n\nA simple modern Python project template powered by [Copier](https://copier.readthedocs.io/).\n\n[Article](https://mjunya.com/en/posts/2025-06-15-python-template/) [日本語記事](https://zenn.dev/mjun0812/articles/0ae2325d40ed20)\n\n## Features\n\n- 🚀 **Modern Python**: Support for Python 3.10-3.13\n- 📦 **uv Package Manager**: Fast and reliable package management with [uv](https://github.com/astral-sh/uv)\n- 🐳 **Docker Support**: Complete Docker development environment\n- 📦 **Devcontainer Support**: VS Code devcontainer for consistent development\n- ✨ **AI Editor Support**: [AGENTS.md](https://agents.md) and\n  [CLAUDE.md](https://docs.anthropic.com/en/docs/claude-code/overview) included for AI-powered development\n- 📝 **Type Hints**: Full type annotation support with modern Python features\n- 🔍 **Code Quality**: Pre-configured Ruff for linting and formatting\n- 🧪 **Testing**: pytest setup with example tests\n- 🔧 **Pre-commit Hooks**: Automated code quality checks\n- 🏗️ **CI Ready**: GitHub Actions workflows included\n\n## Quick Start\n\n### Pre-Requirements\n\n- [uv](https://docs.astral.sh/uv/): Fast Python package installer\n\n### Generate a New Project\n\n```bash\nuvx copier copy gh:mjun0812/python-copier-template your-project-name\n```\n\nFollow the interactive prompts to configure your project:\n\n- **Project name**: Your project's name\n- **Python version**: Choose from 3.10, 3.11, 3.12, or 3.13\n- **Package name**: The name used for importing your package (e.g., `import package_name`)\n- **Description**: A short description of your project\n- **Author name**: Your name\n- **Author email**: Your email address\n\n### Development Setup\n\nAfter generating your project:\n\n```bash\ncd your-project-name\n\n# Install dependencies\nuv sync\n\n# Install pre-commit hooks\nuv run pre-commit install\n\n# Run tests\nuv run pytest\n\n# Run formatting and linting (automatically runs on commit)\nuv run ruff format .\nuv run ruff check .\n# Auto Fix\nuv run ruff check . --fix\n```\n\n### Docker Development Setup\n\nThe template includes a complete Docker setup:\n\n```bash\n# create uv.lock file\nuv sync\n\n# use the provided scripts\n./docker/build.sh\n./docker/run.sh # or./docker/run.sh (Command)\n\n# Build and run with Docker Compose\ndocker compose build\ndocker compose up\n```\n\n### VS Code Devcontainer\n\nOpen the project in VS Code and use the \"Reopen in Container\" command for a fully configured development environment.\nDevcontainer will automatically install uv, Claude Code, and pre-commit hooks.\n\n### Update Template\n\n```bash\ncd your-project-name\nuvx copier update -A\n```\n\n## Project Structure\n\n```text\nyour-project/\n├── src/\n│   └── your_project/          # Main package\n├── tests/                     # Test files\n├── docker/                    # Docker configuration\n├── compose.yml               # Docker Compose setup\n├── pyproject.toml            # Project configuration\n└── README.md                 # Project documentation\n```\n\n## AI Editor Support\n\n- [AGENTS.md(`./template/AGENTS.md`)](https://agents.md)\n- [CLAUDE.md(`./template/CLAUDE.md`)](https://docs.claude.com/en/docs/claude-code/memory#claude-md-imports)\n\n## Q\u0026A\n\n### Why don't you use a type checker?\n\nI'm waiting for stable release of [`ty`](https://github.com/astral-sh/ty).\nYou can install and use your preferred type checker.\n\n## Support\n\n- 📖 [Copier Documentation](https://copier.readthedocs.io/)\n- 🐍 [uv Documentation](https://docs.astral.sh/uv/)\n- 🔍 [Ruff Documentation](https://docs.astral.sh/ruff/)\n","funding_links":["https://github.com/sponsors/mjun0812"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjun0812%2Fpython-copier-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjun0812%2Fpython-copier-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjun0812%2Fpython-copier-template/lists"}