{"id":36633112,"url":"https://github.com/miguelcosta2c/modern-python-development-environment","last_synced_at":"2026-01-15T03:16:42.360Z","repository":{"id":332055376,"uuid":"1113464024","full_name":"miguelcosta2c/modern-python-development-environment","owner":"miguelcosta2c","description":"Modern Python Development Environment  Package Manager: uv for high-speed dependency resolution and environment management.  Code Quality: Ruff for near-instant linting, formatting, and automatic import organization.  Type Safety: Pyright in strict mode for advanced static type analysis.  Standards: Follows the PEP 621 src/ layout with centralized","archived":false,"fork":false,"pushed_at":"2026-01-09T11:51:01.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T17:13:47.337Z","etag":null,"topics":["ci-cd","developer-tools","github-actions","pyright","pytest","python","python-template","ruff","uv"],"latest_commit_sha":null,"homepage":"","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/miguelcosta2c.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2025-12-10T02:37:06.000Z","updated_at":"2026-01-09T11:45:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/miguelcosta2c/modern-python-development-environment","commit_stats":null,"previous_names":["miguelcosta2c/modern-python-development-environment"],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/miguelcosta2c/modern-python-development-environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelcosta2c%2Fmodern-python-development-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelcosta2c%2Fmodern-python-development-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelcosta2c%2Fmodern-python-development-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelcosta2c%2Fmodern-python-development-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miguelcosta2c","download_url":"https://codeload.github.com/miguelcosta2c/modern-python-development-environment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelcosta2c%2Fmodern-python-development-environment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ci-cd","developer-tools","github-actions","pyright","pytest","python","python-template","ruff","uv"],"created_at":"2026-01-12T09:41:12.287Z","updated_at":"2026-01-15T03:16:42.355Z","avatar_url":"https://github.com/miguelcosta2c.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🐍 Modern Python Development Environment (uv)\n\n[![Python](https://img.shields.io/badge/Python-3.13-3776AB?logo=python\u0026logoColor=white)](https://www.python.org/)\n[![License](https://img.shields.io/badge/License-MIT-2E7D32)](LICENSE)\n[![Linting](https://img.shields.io/badge/Linting-Ruff-8B0000?logo=ruff\u0026logoColor=white)](https://docs.astral.sh/ruff/)\n[![Static Typing](https://img.shields.io/badge/Static%20Typing-Pyright-4B32C3?logo=microsoft\u0026logoColor=white)](https://github.com/microsoft/pyright)\n[![Dependency Management](https://img.shields.io/badge/Dependency%20Management-uv-FF7A00?logo=rust\u0026logoColor=white)](https://docs.astral.sh/uv/)\n[![CI](https://github.com/miguelcosta2c/modern-python-development-environment/actions/workflows/ci.yml/badge.svg)](\nhttps://github.com/miguelcosta2c/modern-python-development-environment/actions/workflows/ci.yml\n)\n\n\nA **modern Python development template** powered by **uv**, following current best practices such as:\n\n- `src/` layout\n- Static typing with **Pyright**\n- Linting and formatting with **Ruff**\n- Testing with **Pytest**\n- CLI scripts via `pyproject.toml`\n- Environment variable support with **python-dotenv**\n\nIdeal for quickly starting professional and maintainable Python projects.\n\n---\n\n## 🚀 Tech Stack\n\n- **Python 3.13**\n- **uv** – dependency and virtual environment manager\n- **Ruff** – linter and code formatter\n- **Pyright** – static type checker\n- **Pytest** – testing framework\n- **python-dotenv** – environment variable management\n\n---\n\n## 📂 Project Structure\n\n```text\n.\n├── .vscode/                 # VS Code configuration\n│   ├── extensions.json\n│   └── settings.json\n├── src/\n│   └── my_package/\n│       ├── __init__.py\n│       ├── my_module.py     # Core logic\n│       └── main.py          # Entry point\n├── .env                     # Environment variables\n├── .gitignore\n├── .python-version          # Python version (3.13.11)\n├── pyproject.toml           # Project configuration\n├── requirements.txt         # Dependencies (compatibility)\n├── uv.lock                  # uv lockfile\n└── README.md\n````\n\n---\n\n## ⚙️ Requirements\n\n* **Python 3.13+**\n* **uv** installed\n\nInstall `uv`:\n\n```bash\npip install uv\n```\n\nOr (recommended):\n\n```bash\ncurl -Ls https://astral.sh/uv/install.sh | sh\n```\n\n---\n\n## 📦 Installation\n\nClone the repository:\n\n```bash\ngit clone https://github.com/miguelcosta2c/modern-python-development-environment\ncd modern-python-development-environment\n```\n\nCreate the virtual environment and install dependencies:\n\n```bash\nuv sync\n```\n\nInstall development dependencies:\n\n```bash\nuv sync --extra dev\n```\n\n---\n\n## ▶️ Running the Project\n\n### Run with Python\n\n```bash\npython src/my_package/main.py\n```\n\n### Run as a CLI command\n\nThe project defines a console script in `pyproject.toml`:\n\n```toml\n[project.scripts]\nproject = \"my_package.my_module:run_from_script\"\n```\n\nAfter installing the project in the environment:\n\n```bash\nuv run project\n```\n\n---\n\n## 🧪 Testing\n\nRun tests with:\n\n```bash\npytest\n```\n\nOr using `uv`:\n\n```bash\nuv run pytest\n```\n\n---\n\n## 🧹 Linting \u0026 Formatting (Ruff)\n\nCheck for issues:\n\n```bash\nruff check .\n```\n\nAutomatically fix issues:\n\n```bash\nruff check . --fix\n```\n\nFormat the code:\n\n```bash\nruff format .\n```\n\n---\n\n## 🧠 Static Type Checking (Pyright)\n\n```bash\npyright\n```\n\nConfigured in **strict mode** for maximum type safety.\n\n---\n\n## 🌱 Environment Variables\n\nThis project uses **python-dotenv**.\n\nCreate a `.env` file:\n\n```env\nEXAMPLE_VAR=hello_world\n```\n\nLoad it in your application when needed.\n\n---\n\n## 📌 Best Practices Included\n\n* `src/` layout (recommended by the Python Packaging Authority)\n* Centralized configuration via `pyproject.toml`\n* Reproducible environments with `uv.lock`\n* Clear separation between production and development dependencies\n\n---\n\n## 📜 License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n## 👤 Author\n\n**Miguel Costa**\n📧 [miguelcosmecosta@gmail.com](mailto:miguelcosmecosta@gmail.com)\n\n---\n\n## ⭐ Tip\n\nIf you find this template useful, consider giving the repository a ⭐!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelcosta2c%2Fmodern-python-development-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelcosta2c%2Fmodern-python-development-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelcosta2c%2Fmodern-python-development-environment/lists"}