python github setup
via PatrickJS/awesome-cursorrules
Python development with GitHub integration, enforcing style, testing, security, and CI/CD standards.
What is python github setup?
Establishes coding standards for Python projects using GitHub Flow and GitHub Actions. Covers style (Black, Pylint, PEP 8), testing (pytest, 80% coverage), documentation (Google docstrings), security (input validation, environment variables), and code review practices. Use this rule to maintain consistency across Python codebases with automated CI/CD pipelines.
- Enforces Python style rules: 4-space indentation, 120-char line length, snake_case variables/functions, PascalCase classes
- Requires 80% test coverage with unit and integration tests using pytest
- Mandates security practices: input validation, HTTPS, environment variables for secrets, input sanitization
- Configures GitHub Actions CI/CD with Black formatting and Pylint linting against PEP 8
- Enforces Google-style docstrings and code review via GitHub Pull Requests
- Applies Conventional Commits for version control and GitHub Flow branching strategy
Applies to
File patterns this rule matches.
Rule definition (reference)
Source of truth, from the repository.
{ "general": { "coding_style": { "language": "Python", "use_strict": true, "indentation": "4 spaces", "max_line_length": 120, "comments": { "style": "# for single-line, ''' for multi-line", "require_comments": true } },
"naming_conventions": {
"variables": "snake_case",
"functions": "snake_case",
"classes": "PascalCase",
"interfaces": "PascalCase",
"files": "snake_case"
},
"error_handling": {
"prefer_try_catch": true,
"log_errors": true
},
"testing": {
"require_tests": true,
"test_coverage": "80%",
"test_types": ["unit", "integration"]
},
"documentation": {
"require_docs": true,
"doc_tool": "docstrings",
"style_guide": "Google Python Style Guide"
},
"security": {
"require_https": true,
"sanitize_inputs": true,
"validate_inputs": true,
"use_env_vars": true
},
"configuration_management": {
"config_files": [".env"],
"env_management": "python-dotenv",
"secrets_management": "environment variables"
},
"code_review": {
"require_reviews": true,
"review_tool": "GitHub Pull Requests",
"review_criteria": ["functionality", "code quality", "security"]
},
"version_control": {
"system": "Git",
"branching_strategy": "GitHub Flow",
"commit_message_format": "Conventional Commits"
},
"logging": {
"logging_tool": "Python logging module",
"log_levels": ["debug", "info", "warn", "error"],
"log_retention_policy": "7 days"
},
"monitoring": {
"monitoring_tool": "Not specified",
"metrics": ["file processing time", "classification accuracy", "error rate"]
},
"dependency_management": {
"package_manager": "pip",
"versioning_strategy": "Semantic Versioning"
},
"accessibility": {
"standards": ["Not applicable"],
"testing_tools": ["Not applicable"]
},
"internationalization": {
"i18n_tool": "Not applicable",
"supported_languages": ["English"],
"default_language": "English"
},
"ci_cd": {
"ci_tool": "GitHub Actions",
"cd_tool": "Not specified",
"pipeline_configuration": ".github/workflows/main.yml"
},
"code_formatting": {
"formatter": "Black",
"linting_tool": "Pylint",
"rules": ["PEP 8", "project-specific rules"]
},
"architecture": {
"patterns": ["Modular design"],
"principles": ["Single Responsibility", "DRY"]
}
},
"project_specific": {
"use_framework": "None",
"styling": "Not applicable",
"testing_framework": "pytest",
"build_tool": "setuptools",
"deployment": {
"environment": "Local machine",
"automation": "Not specified",
"strategy": "Manual deployment"
},
"performance": {
"benchmarking_tool": "Not specified",
"performance_goals": {
"response_time": "< 5 seconds per file",
"throughput": "Not specified",
"error_rate": "< 1%"
}
}
},
"context": {
"codebase_overview": "Python-based file organization tool using AI for content analysis and classification",
"libraries": [
"watchdog", "spacy", "PyPDF2", "python-docx", "pandas", "beautifulsoup4",
"transformers", "scikit-learn", "joblib", "python-dotenv", "torch", "pytest",
"shutil", "logging", "pytest-mock"
],
"coding_practices": {
"modularity": true,
"DRY_principle": true,
"performance_optimization": true
}
},
"behavior": {
"verbosity": {
"level": 2,
"range": [0, 3]
},
"handle_incomplete_tasks": "Provide partial solution and explain limitations",
"ask_for_clarification": true,
"communication_tone": "Professional and concise"
}
}
Related rules
Senior full-stack TypeScript, React, Node.js guidance with clean architecture, testing, and WHY-oriented reasoning.
Quantitative factor research skills for designing, evaluating, and mining alpha factors in equities markets.
Android development with Jetpack Compose, clean architecture, and Material Design 3.
Angular development with Novo Elements UI library using standalone components.
Expert Angular 18 + TypeScript development with Jest, emphasizing clean code and performance.
Manage Kubernetes clusters, add-ons, stacks, and credentials via the Ankra CLI platform.