{"id":38839255,"url":"https://github.com/kyhau/python-repo-template","last_synced_at":"2026-01-17T13:59:04.855Z","repository":{"id":12572628,"uuid":"72275117","full_name":"kyhau/python-repo-template","owner":"kyhau","description":"This is a template repository for quickly creating a python application that can be built, tested, and released as an internal python module.","archived":false,"fork":false,"pushed_at":"2025-10-18T02:40:31.000Z","size":567,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-18T23:59:24.590Z","etag":null,"topics":["github-template","hacktoberfest","python"],"latest_commit_sha":null,"homepage":"https://kyhau.github.io/python-repo-template/","language":"Makefile","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/kyhau.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","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}},"created_at":"2016-10-29T09:02:43.000Z","updated_at":"2025-10-18T02:40:35.000Z","dependencies_parsed_at":"2023-10-16T13:59:36.172Z","dependency_job_id":"daecfb79-01c6-4571-a3b0-b312dfc26fe8","html_url":"https://github.com/kyhau/python-repo-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/kyhau/python-repo-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyhau%2Fpython-repo-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyhau%2Fpython-repo-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyhau%2Fpython-repo-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyhau%2Fpython-repo-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kyhau","download_url":"https://codeload.github.com/kyhau/python-repo-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyhau%2Fpython-repo-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28509778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"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":["github-template","hacktoberfest","python"],"created_at":"2026-01-17T13:59:04.768Z","updated_at":"2026-01-17T13:59:04.845Z","avatar_url":"https://github.com/kyhau.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-repo-template\n\n[![CI](https://github.com/kyhau/python-repo-template/workflows/CI/badge.svg)](https://github.com/kyhau/python-repo-template/actions/workflows/ci.yml)\n[![Codecov](https://codecov.io/gh/kyhau/python-repo-template/branch/main/graph/badge.svg)](https://codecov.io/gh/kyhau/python-repo-template)\n[![CodeQL](https://github.com/kyhau/python-repo-template/workflows/CodeQL/badge.svg)](https://github.com/kyhau/python-repo-template/actions/workflows/codeql-analysis.yml)\n[![Snyk Checks](https://github.com/kyhau/python-repo-template/workflows/Synk%20Checks/badge.svg)](https://github.com/kyhau/python-repo-template/actions/workflows/snyk.yml)\n[![Secrets Scan](https://github.com/kyhau/python-repo-template/workflows/Secrets%20Scan/badge.svg)](https://github.com/kyhau/python-repo-template/actions/workflows/secrets-scan.yml)\n![Python Version](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue)\n![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)\n![GitHub last commit](https://img.shields.io/github/last-commit/kyhau/python-repo-template)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://en.wikipedia.org/wiki/MIT_License)\n\nModern Python project template with Poetry, Makefile workflows, automated testing, linting, and GitHub Actions CI/CD.\n\nAll notable changes to this project will be documented in [CHANGELOG](./CHANGELOG.md).\n\n**Supports Python 3.12, 3.13**\n\n## ✨ What's Included\n\n### 🔧 Development Tools\n- **[Poetry](https://python-poetry.org/)** - Modern dependency management\n- **[Makefile](Makefile)** - Convenient command shortcuts for common tasks\n- **[pytest](https://pytest.org/)** - Testing framework with coverage reporting\n- **[black](https://black.readthedocs.io/)** - Code formatting\n- **[flake8](https://flake8.pycqa.org/)** - Python code linting\n- **[yamllint](https://yamllint.readthedocs.io/)** - YAML file linting\n\n### 🔐 Security \u0026 Code Quality\n- **[CodeQL](https://codeql.github.com)** - Automated security analysis ([workflow](.github/workflows/codeql-analysis.yml))\n- **[Secrets Scan](https://github.com/gitleaks/gitleaks)** - Gitleaks and TruffleHog for detecting hardcoded secrets ([workflow](.github/workflows/secrets-scan.yml))\n- **[Snyk](https://snyk.io/)** - Vulnerability scanning ([workflow](.github/workflows/snyk.yml))\n- **[Dependabot](https://docs.github.com/en/code-security/dependabot)** - Automated dependency updates ([config](.github/dependabot.yml))\n\n### 🚀 CI/CD\n- **[GitHub Actions](https://github.com/features/actions)** - Automated testing and deployment\n- **[Codecov](https://codecov.io/)** - Code coverage reporting\n- **Stale Issue Management** - Automatically closes inactive issues\n\n## 🚀 Getting Started\n\n### 1. Create Repository from Template\n\nClick **\"Use this template\"** on GitHub or:\n\n```bash\nmkdir new_repo_name\ncd new_repo_name\ngit init\ngit pull https://github.com/kyhau/python-repo-template\n```\n\n### 2. Customize Your Project\n\nUpdate these files:\n- `pyproject.toml` - Package name, version, dependencies\n- `Makefile` - Set `PACKAGE_NAME` and `TEST_PATH` variables\n- `README.md` - Replace with your project description\n- `app/` - Rename to your package name\n\n### 3. Set Up Development Environment\n\n**Quick setup (recommended for first-time setup):**\n```bash\nmake setup-init\n```\n\n**Manual setup (if you prefer step-by-step):**\n```bash\nmake setup-venv    # Configure Poetry to use local virtualenv\nmake install-all   # Install all dependencies\n```\n\n## 📋 Development Workflow\n\n### Common Commands\n\n```bash\nmake setup-init         # First-time setup (configure, lock, install everything)\nmake help               # Show all available commands\nmake install-all        # Install all dependencies (main, dev, test)\nmake test               # Run tests without coverage\nmake test-with-coverage # Run tests with coverage\nmake format-python      # Auto-format Python code\nmake lint-python        # Lint Python code\nmake lint-yaml          # Lint YAML files\nmake pre-commit         # Run all quality checks (format, lint, test)\nmake build              # Build the package\nmake clean              # Clean build artifacts\n```\n\n### Running Tests\n\n```bash\n# Run tests with coverage\nmake test-with-coverage\n\n# Run tests only\nmake test\n\n# Format and lint code\nmake format-python\nmake lint-python\nmake lint-yaml\n```\n\n### Managing Dependencies\n\n```bash\n# Update dependencies to latest compatible versions\nmake update-deps\n\n# Regenerate lock file\nmake lock\n```\n\n## 🏗️ Project Structure\n\n```\npython-repo-template/\n├── .github/\n│   ├── workflows/        # CI/CD workflows\n│   └── dependabot.yml    # Dependency updates config\n├── app/                  # Your Python package\n│   ├── __init__.py\n│   └── main.py\n├── tests/                # Unit tests\n│   └── test_main.py\n├── pyproject.toml        # Project metadata and dependencies\n├── Makefile              # Build and test commands\n└── README.md             # This file\n```\n\n## 📦 Building and Releasing\n\n```bash\n# Build the package\nmake build\n\n# The built package will be in dist/\nls dist/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyhau%2Fpython-repo-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyhau%2Fpython-repo-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyhau%2Fpython-repo-template/lists"}