{"id":16518951,"url":"https://github.com/brandonwillard/pyvenv-extras","last_synced_at":"2026-05-14T01:40:47.182Z","repository":{"id":146267929,"uuid":"343055966","full_name":"brandonwillard/pyvenv-extras","owner":"brandonwillard","description":"An Emacs package that adds projectile-based Python virtual environment tracking to pyvenv, and more","archived":false,"fork":false,"pushed_at":"2021-09-09T22:14:22.000Z","size":31,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T22:20:18.541Z","etag":null,"topics":["emacs","persp-mode","projectile","python","pyvenv"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","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/brandonwillard.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["brandonwillard"]}},"created_at":"2021-02-28T08:29:41.000Z","updated_at":"2022-07-15T15:44:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e593b0e-7aaa-4bc7-99fb-4ee4b1ea5008","html_url":"https://github.com/brandonwillard/pyvenv-extras","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brandonwillard/pyvenv-extras","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonwillard%2Fpyvenv-extras","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonwillard%2Fpyvenv-extras/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonwillard%2Fpyvenv-extras/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonwillard%2Fpyvenv-extras/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brandonwillard","download_url":"https://codeload.github.com/brandonwillard/pyvenv-extras/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonwillard%2Fpyvenv-extras/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33006801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"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":["emacs","persp-mode","projectile","python","pyvenv"],"created_at":"2024-10-11T16:44:17.915Z","updated_at":"2026-05-14T01:40:47.168Z","avatar_url":"https://github.com/brandonwillard.png","language":"Emacs Lisp","funding_links":["https://github.com/sponsors/brandonwillard"],"categories":[],"sub_categories":[],"readme":"#+TITLE: =pyvenv-extras=\n#+AUTHOR: Brandon T. Willard\n\n[[Testing Workflow][file:https://github.com/brandonwillard/pyvenv-extras/workflows/Testing%20Workflow/badge.svg]]\n\nAn Emacs package that adds =projectile= and/or =persp-mode=-based Python virtual\nenvironment tracking to =pyvenv=, and more.\n\n* Features\n\n** =pyvenv-extras-mode=\n   - Initialize terminals so that they automatically enable the local\n     venv (implemented for =term= and =vterm=)\n   - Add =CONDA_PREFIX= and =CONDA_DEFAULT_ENV= variables to the environment\n   - Activate =comint= buffers within the =projectile=-determined project root\n     directory\n   - Start and restart Python inferior processes in a way that preserves the\n     =pyvenv= venv settings and prevents the cursor from jumping\n   - Make interactive Python sessions project-specific by adding =projectile=\n     project names to =python-mode= process names\n   - Make =flycheck= use the =projectile= project directory\n\n** =pyvenv-projectile-tracking-mode=\n\n   This mode augments =pyvenv-tracking-mode= by only changing the virtual\n   environment when the =projectile= project changes (and has a different\n   virtual environment).\n\n   Currently, the approach used relies on the availability of =pyvenv-workon=\n   values within in each projects' =.dir-locals.el=, so each project must have\n   those set.\n\n** =pyvenv-persp-tracking-mode=\n\n   This mode sets the virtual environment when a =persp-mode= perspective is\n   activated.\n\n   When =projectile= is set to use =persp-mode=-scoped projects via\n   [[https://github.com/brandonwillard/proj-persp-extras][=proj-persp-extras=]] and =pyvenv-projectile-tracking-mode= is enabled, this\n   mode effectively enables =persp-mode=-based virtual environment scopes.  In\n   other words, your current =persp-mode= perspective determines which virtual\n   environment is activate.\n\n* Usage\n\n  Just enable the minor modes:\n  #+BEGIN_SRC elisp :eval never :exports code :results none\n  (pyvenv-extras-mode +1)\n  (pyvenv-projectile-tracking-mode +1)\n  (pyvenv-persp-tracking-mode +1)\n  #+END_SRC\n\n* Installation\n\n  Use your favorite approach to installing Emacs packages from GitHub.\n\n  Here's an example of one:\n  #+BEGIN_SRC elisp :eval never :exports code :results none\n  (quelpa\n  '(pyvenv-extras\n    :fetcher git\n    :url \"https://github.com/brandonwillard/pyvenv-extras.git\"))\n  #+END_SRC\n\n* Development\n  To use as a Cask dependency:\n  #+BEGIN_SRC elisp :eval never :exports code :results none\n  (depends-on \"pyvenv-extras\"\n              :git \"https://github.com/brandonwillard/pyvenv-extras.git\"\n              :branch \"master\")\n  #+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrandonwillard%2Fpyvenv-extras","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrandonwillard%2Fpyvenv-extras","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrandonwillard%2Fpyvenv-extras/lists"}