{"id":17786688,"url":"https://github.com/dmarcoux/python_templates","last_synced_at":"2025-04-01T23:46:21.207Z","repository":{"id":259047021,"uuid":"852214199","full_name":"dmarcoux/python_templates","owner":"dmarcoux","description":"Templates for common files/configs in Python projects","archived":false,"fork":false,"pushed_at":"2024-12-20T12:19:22.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T15:34:56.737Z","etag":null,"topics":["nix","python"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmarcoux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-09-04T12:29:28.000Z","updated_at":"2024-12-20T12:19:26.000Z","dependencies_parsed_at":"2024-11-24T10:02:48.046Z","dependency_job_id":null,"html_url":"https://github.com/dmarcoux/python_templates","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"2e30b3802fb1f2a456a206408b45809fc25c2283"},"previous_names":["dmarcoux/python_templates"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcoux%2Fpython_templates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcoux%2Fpython_templates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcoux%2Fpython_templates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcoux%2Fpython_templates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmarcoux","download_url":"https://codeload.github.com/dmarcoux/python_templates/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246730262,"owners_count":20824396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["nix","python"],"created_at":"2024-10-27T10:04:25.081Z","updated_at":"2025-04-01T23:46:21.181Z","avatar_url":"https://github.com/dmarcoux.png","language":"Nix","readme":"# \u003ca href=\"https://github.com/dmarcoux/python_templates\"\u003edmarcoux/python_templates\u003c/a\u003e\n\nTemplates for common files/configs in [Python](https://www.python.org/)\nprojects.\n\n## How to Use This Template\n\n1. Create a new repository based on this repository:\n\n- Go to this [repository's page](https://github.com/dmarcoux/python_templates),\n  click on the `Use this template` button and follow instructions.\n\n  *OR*\n\n- With [GitHub's CLI](https://github.com/cli/cli), run:\n\n  ```bash\n  gh repo create NEW_REPOSITORY_NAME --template=dmarcoux/python_templates --clone --private/--public\n  ```\n\n2. Decide whether you want the development environment to be based on\n   devcontainer/Docker or Nix Flakes. Both have their pros and cons.\n   devcontainer/Docker is way more mainstream than Nix Flakes, but has a slight\n   overhead due to the containers.\n\n   1. If you pick the devcontainer/Docker development environment, delete the Nix\n      Flakes files `flake-FHS.nix` and `flake-STANDARD.nix`.\n\n   2. If you pick the Nix Flakes development environment, delete the\n      devcontainer/Docker files `Dockerfile`, `docker-compose.yml` and the\n      directory `.devcontainer`. Keep either `flake-FHS.nix` or\n      `flake-STANDARD.nix` depending on what your project needs. Rename the chosen\n      file to `flake.nix`. For most projects, `flake-STANDARD.nix` will be the\n      right pick since it's simpler and all dependencies are packaged by Nix. Only\n      in rare cases when dependencies rely on\n      [FHS](https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard), then use\n      `flake-FHS.nix`. As an example of this is\n      [Playwright](https://playwright.dev/) since it installs browsers in the\n      typical FHS paths.\n\n3. Search for `CHANGEME` in the newly created repository to adapt it to the\n   project's needs.\n\n4. Adapt this README to the project. This complete section can be deleted. Keep\n   the relevant _Development Environment_ section below based on the one you\n   selected in the previous steps.\n\n## Python Development Environment with devcontainer/Docker\n\nThe development environment is based on [devcontainer](https://containers.dev/)\nwhich relies on [Docker](https://www.docker.com/) and\n[Docker-Compose](https://docs.docker.com/compose/). devcontainer is [supported\nin various IDEs/editors](https://containers.dev/supporting), in addition to\nhaving a [CLI](https://github.com/devcontainers/cli).\n\nRefer to the [Makefile](./Makefile) to see various commands, like starting the\ndevelopment environment or formatting the code.\n\n## Python Development Environment with Nix Flakes\n\nReproducible development environment for Python projects which relies on\n[Nix](https://github.com/NixOS/nix) [Flakes](https://nixos.wiki/wiki/Flakes),\na purely functional and cross-platform package manager.\n\nRefer to the [Makefile](./Makefile) to see various commands, like starting the\ndevelopment environment or formatting the code.\n\n## Python Development Environment with devenv\n\nReproducible development environment for Python projects which relies on\n[devenv](https://devenv.sh/). Underneath, it uses\n[Nix](https://github.com/NixOS/nix), a purely functional and cross-platform\npackage manager.\n\nWIP: For now, refer to\n[sports_tracker](https://github.com/dmarcoux/sports_tracker) and its\n[devenv.nix](https://github.com/dmarcoux/sports_tracker/blob/main/devenv.nix)\nfile.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmarcoux%2Fpython_templates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmarcoux%2Fpython_templates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmarcoux%2Fpython_templates/lists"}