{"id":47184467,"url":"https://github.com/a5chin/python-poetry","last_synced_at":"2026-03-13T08:36:30.278Z","repository":{"id":236998769,"uuid":"793359305","full_name":"a5chin/python-poetry","owner":"a5chin","description":"This repository contains configurations to set up a Python development environment using VSCode's Dev Container feature. The environment includes Poetry, pyenv, and Ruff.","archived":false,"fork":false,"pushed_at":"2024-08-09T10:26:32.000Z","size":217,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-09T11:56:47.216Z","etag":null,"topics":["devcontainer","docker","dockerfile","poetry","precommit","pyenv","python","python3","ruff"],"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/a5chin.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}},"created_at":"2024-04-29T04:31:21.000Z","updated_at":"2024-08-09T10:26:33.000Z","dependencies_parsed_at":"2024-06-24T13:43:49.764Z","dependency_job_id":"31b46802-5387-400b-8da6-6ed2cc9a4919","html_url":"https://github.com/a5chin/python-poetry","commit_stats":null,"previous_names":["a5chin/python-poetry"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/a5chin/python-poetry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a5chin%2Fpython-poetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a5chin%2Fpython-poetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a5chin%2Fpython-poetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a5chin%2Fpython-poetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a5chin","download_url":"https://codeload.github.com/a5chin/python-poetry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a5chin%2Fpython-poetry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30462534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T06:34:02.089Z","status":"ssl_error","status_checked_at":"2026-03-13T06:33:49.182Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["devcontainer","docker","dockerfile","poetry","precommit","pyenv","python","python3","ruff"],"created_at":"2026-03-13T08:36:29.642Z","updated_at":"2026-03-13T08:36:30.256Z","avatar_url":"https://github.com/a5chin.png","language":"Dockerfile","readme":"# VSCode Dev Container: Python Development with Poetry, pyenv, and Ruff\n\n\u003cdiv align=\"center\"\u003e\n\n[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n[![pyenv](https://img.shields.io/badge/-pyenv-blue.svg)]()\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n[![Versions](https://img.shields.io/badge/python-3.8%20|%203.9%20|%203.10%20|%203.11%20|%203.12%20-blue.svg)](https://github.com/a5chin/python-poetry)\n\n[![Ruff](https://github.com/a5chin/python-poetry/actions/workflows/ruff.yml/badge.svg)](https://github.com/a5chin/python-poetry/actions/workflows/ruff.yml)\n[![test](https://github.com/a5chin/python-poetry/actions/workflows/test.yml/badge.svg)](https://github.com/a5chin/python-poetry/actions/workflows/test.yml)\n[![Docker](https://github.com/a5chin/python-poetry/actions/workflows/docker.yml/badge.svg)](https://github.com/a5chin/python-poetry/actions/workflows/docker.yml)\n\n\u003c/div\u003e\n\n## Overview\nThis repository contains configurations to set up a Python development environment using VSCode's Dev Container feature.\nThe environment includes Poetry, pyenv, and Ruff.\n\n## Contents\nThe following are the features.\n\n### Branches\n- [main](https://github.com/a5chin/python-poetry/tree/main)\n- [jupyter](https://github.com/a5chin/python-poetry/tree/jupyter)\n\n### Dev Container\n- `devcontainer.json`\n  - settings\n    - formatOnSave by Ruff\n  - features\n    - pre-commit\n  - extentions\n    - [charliermarsh.ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff)\n    - [codezombiech.gitignore](https://marketplace.visualstudio.com/items?itemName=codezombiech.gitignore)\n    - [eamodio.gitlens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)\n    - [kevinrose.vsc-python-indent](https://marketplace.visualstudio.com/items?itemName=kevinrose.vsc-python-indent)\n    - [mosapride.zenkaku](https://marketplace.visualstudio.com/items?itemName=mosapride.zenkaku)\n    - [ms-azuretools.vscode-docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker)\n    - [ms-python.python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)\n    - [njpwerner.autodocstring](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring)\n    - [oderwat.indent-rainbow](https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow)\n    - [pkief.material-icon-theme](https://marketplace.visualstudio.com/items?itemName=pkief.material-icon-theme)\n    - [shardulm94.trailing-spaces](https://marketplace.visualstudio.com/items?itemName=shardulm94.trailing-spaces)\n    - [usernamehw.errorlens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)\n    - [yzhang.markdown-all-in-one](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)\n- `Dockerfile`\n  - Poetry\n    - `poetry config virtualenvs.create false`\n  - Only Dev dependencies\n    - `pre-commit`\n    - `pytest`\n    - `ruff`\n\n### GitHub Actions\n- `docker.yml`\n  - Workflow to check if you can build with Docker\n- `test.yml`\n  - Workflow to check if all the described tests can be passed with pytest\n- `ruff.yml`\n  - Workflow to check if you can go through Formatter and Linter with Ruff\n\n### Ruff\nRuff can be used to replace Flake8, Black, isort, pydocstyle, pyupgrade, autoflake, etc., and yet run tens to hundreds of times faster than the individual tools.\n\nTo change the configuration, it is necessary to rewrite ruff.toml, and [it is recommended](https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules) to set it to ignore conflicts such as the following:\n```toml\nignore = [\n    \"COM812\", \"COM819\",\n    \"D100\", \"D203\", \"D213\", \"D300\",\n    \"E111\", \"E114\", \"E117\",\n    \"ISC001\", \"ISC002\",\n    \"Q000\", \"Q001\", \"Q002\", \"Q003\",\n    \"W191\",\n]\n```\n\n### pre-commit\nThe `.pre-commit-config.yaml` file can contain scripts to be executed before commit.\n\n```sh\n# Python Formatter\nruff format .\n\n# Python Linter\nruff check . --fix\n\n# Docker Linter\nhodolint Dockerfile\n```\n\n### Install\nOnly install based on the production group instead of the development group (`tool.poetry.group.dev.dependencies`) in `pyproject.toml`.\n\n```sh\n# Install also include develop dependencies\npoetry install\n\n# If you do not want dev dependencies to be installed\npoetry install --no-dev\n```\n\n## Appendix\n### The structure of this repository\n```\n.\n├── .devcontainer\n│   ├── devcontainer.json\n│   └── Dockerfile\n├── Dockerfile\n├── .github\n│   └── workflows\n│       ├── docker.yml\n│       ├── ruff.yml\n│       └── pytest.yml\n├── .gitignore\n├── LICENSE\n├── poetry.lock\n├── poetry.toml\n├── .pre-commit-config.yaml\n├── pyproject.toml\n├── .python-version\n├── README.md\n├── ruff.toml\n└── .vscode\n    ├── extensions.json\n    └── settings.json\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa5chin%2Fpython-poetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa5chin%2Fpython-poetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa5chin%2Fpython-poetry/lists"}