[![Testing](https://img.shields.io/github/actions/workflow/status/libranet/autoadd-bindir/testing.yaml?branch=main&longCache=true&style=flat-square&label=tests&logo=GitHub%20Actions&logoColor=fff")](https://github.com/libranet/autoadd-bindir/actions/workflows/testing.yaml)
[![Linting](https://img.shields.io/github/actions/workflow/status/libranet/autoadd-bindir/linting.yaml?branch=main&longCache=true&style=flat-square&label=linting&logo=GitHub%20Actions&logoColor=fff")](https://github.com/libranet/autoadd-bindir/actions/workflows/linting.yaml)
[![Read the Docs](https://readthedocs.org/projects/autoadd-bindir/badge/?version=latest)](https://autoadd-bindir.readthedocs.io/en/latest/)
[![Codecov](https://codecov.io/gh/libranet/autoadd-bindir/branch/main/graph/badge.svg?token=AFP6UMXEN5)](https://codecov.io/gh/libranet/autoadd-bindir)
[![PyPi Package](https://img.shields.io/pypi/v/autoadd-bindir?color=%2334D058&label=pypi%20package)](https://pypi.org/project/autoadd-bindir/)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/libranet/autoadd-bindir/blob/main/docs/license.md)
https://app.codecov.io/gh/libranet/autoadd-bindir
# Autoadd-bindir
Automatically add the bin-directory of your virtualenv to the ``PATH``-environment variable
via ``sitecustomize``-entrypoint. You now no longer need to manually *activate* your
virtual environment for the sole purpose of adding thie bin-drectory to your ``$PATH``.
## How does it work?
We register the ``autoadd_bin.entrypoint()``-function to the ``sitecustomize``-module that is installed by the
[sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)-package.
The registered function will look up ``sys.prefix`` of your python-executable and
add the corresponding bin-directory to the ``PATH``.
## Installation
Install via pip:
```bash
> bin/pip install autoadd_bindir
```
Or add to your poetry-based project:
```bash
> poetry add autoadd_bindir
```
## Validate & Usage
After installing this package there is nothing left to do explicitly.
We can validate that the plugin work correctly by starting a python-session and checking the ``PATH``-environment-variable:
```bash
> bin/python
```
```python
>>> import os
>>> print(os.getenv("PATH"))
"<path-to-your-virtualenv>/bin", ...
```
## Registered sitecustomize-entrypoint
The ``autoadd_bindir``-function is registered as a ``sitecustomize``-entrypoint in our pyproject.toml_:
``` toml
[tool.poetry.plugins]
[tool.poetry.plugins."sitecustomize"]
autoadd_bindir = "autoadd_bindir:entrypoint"
```
Sitecustomize and all its registered entrypoints will be executed at the start of *every* python-process.
For more information, please see [sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)
## Compatibility
[![Python Version](https://img.shields.io/pypi/pyversions/autoadd-bindir?:alt:PyPI-PythonVersion)](https://pypi.org/project/autoadd-bindir/)
[![PyPI - Implementation](https://img.shields.io/pypi/implementation/autoadd-bindir?:alt:PyPI-Implementation)](https://pypi.org/project/autoadd-bindir/)
``autoadd-bindir`` works on Python 3.8+, including PyPy3. Tested until Python 3.11,
## Notable dependencies
- [sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)
Raw data
{
"_id": null,
"home_page": "https://github.com/libranet/autoadd_bindir",
"name": "autoadd-bindir",
"maintainer": "Wouter Vanden Hove",
"docs_url": null,
"requires_python": ">=3.8.0,<4.0",
"maintainer_email": "wouter@libranet.eu",
"keywords": "entrypoints,sitecustomize",
"author": "Wouter Vanden Hove",
"author_email": "wouter@libranet.eu",
"download_url": "https://files.pythonhosted.org/packages/4d/da/09cfca24a1a59054290bd94893cf3fd1c00071d888a201ba1fa45ddecb7c/autoadd_bindir-1.0.5.tar.gz",
"platform": null,
"description": "[![Testing](https://img.shields.io/github/actions/workflow/status/libranet/autoadd-bindir/testing.yaml?branch=main&longCache=true&style=flat-square&label=tests&logo=GitHub%20Actions&logoColor=fff\")](https://github.com/libranet/autoadd-bindir/actions/workflows/testing.yaml)\n[![Linting](https://img.shields.io/github/actions/workflow/status/libranet/autoadd-bindir/linting.yaml?branch=main&longCache=true&style=flat-square&label=linting&logo=GitHub%20Actions&logoColor=fff\")](https://github.com/libranet/autoadd-bindir/actions/workflows/linting.yaml)\n[![Read the Docs](https://readthedocs.org/projects/autoadd-bindir/badge/?version=latest)](https://autoadd-bindir.readthedocs.io/en/latest/)\n[![Codecov](https://codecov.io/gh/libranet/autoadd-bindir/branch/main/graph/badge.svg?token=AFP6UMXEN5)](https://codecov.io/gh/libranet/autoadd-bindir)\n[![PyPi Package](https://img.shields.io/pypi/v/autoadd-bindir?color=%2334D058&label=pypi%20package)](https://pypi.org/project/autoadd-bindir/)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/libranet/autoadd-bindir/blob/main/docs/license.md)\n\n\n\nhttps://app.codecov.io/gh/libranet/autoadd-bindir\n# Autoadd-bindir\n\nAutomatically add the bin-directory of your virtualenv to the ``PATH``-environment variable\nvia ``sitecustomize``-entrypoint. You now no longer need to manually *activate* your\nvirtual environment for the sole purpose of adding thie bin-drectory to your ``$PATH``.\n\n## How does it work?\n\nWe register the ``autoadd_bin.entrypoint()``-function to the ``sitecustomize``-module that is installed by the\n[sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)-package.\n\nThe registered function will look up ``sys.prefix`` of your python-executable and\nadd the corresponding bin-directory to the ``PATH``.\n\n\n## Installation\n\nInstall via pip:\n\n```bash\n> bin/pip install autoadd_bindir\n```\n\nOr add to your poetry-based project:\n\n```bash\n> poetry add autoadd_bindir\n```\n\n\n## Validate & Usage\nAfter installing this package there is nothing left to do explicitly.\nWe can validate that the plugin work correctly by starting a python-session and checking the ``PATH``-environment-variable:\n\n```bash\n> bin/python\n```\n\n```python\n>>> import os\n>>> print(os.getenv(\"PATH\"))\n \"<path-to-your-virtualenv>/bin\", ...\n```\n\n\n## Registered sitecustomize-entrypoint\n\nThe ``autoadd_bindir``-function is registered as a ``sitecustomize``-entrypoint in our pyproject.toml_:\n\n``` toml\n [tool.poetry.plugins]\n [tool.poetry.plugins.\"sitecustomize\"]\n autoadd_bindir = \"autoadd_bindir:entrypoint\"\n```\n\nSitecustomize and all its registered entrypoints will be executed at the start of *every* python-process.\nFor more information, please see [sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)\n\n\n## Compatibility\n\n [![Python Version](https://img.shields.io/pypi/pyversions/autoadd-bindir?:alt:PyPI-PythonVersion)](https://pypi.org/project/autoadd-bindir/)\n [![PyPI - Implementation](https://img.shields.io/pypi/implementation/autoadd-bindir?:alt:PyPI-Implementation)](https://pypi.org/project/autoadd-bindir/)\n\n``autoadd-bindir`` works on Python 3.8+, including PyPy3. Tested until Python 3.11,\n\n\n## Notable dependencies\n\n- [sitecustomize-entrypoints](http://pypi.python.org/pypi/sitecustomize-entrypoints)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Automatically add bin-dir to PATH for every process in your virtualenv.",
"version": "1.0.5",
"split_keywords": [
"entrypoints",
"sitecustomize"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "08824d8f7a79a0697ca7e8ccc40954b33f8e6eb027991f843866b26006290969",
"md5": "ba4a83ca7d5cabcc58f9d11dc439dfe0",
"sha256": "77098e6f232cfa3c78f92011b811cc7a8ceeb689d5bbcb2ff730f3ed4e9326c0"
},
"downloads": -1,
"filename": "autoadd_bindir-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba4a83ca7d5cabcc58f9d11dc439dfe0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.0,<4.0",
"size": 3307,
"upload_time": "2023-04-12T15:31:25",
"upload_time_iso_8601": "2023-04-12T15:31:25.362368Z",
"url": "https://files.pythonhosted.org/packages/08/82/4d8f7a79a0697ca7e8ccc40954b33f8e6eb027991f843866b26006290969/autoadd_bindir-1.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4dda09cfca24a1a59054290bd94893cf3fd1c00071d888a201ba1fa45ddecb7c",
"md5": "31552dcbf0c8032509b72c45f864e560",
"sha256": "b07c1328e845ef43d3f4dda4c61f812c2f806d23608e30aea53591f3165a8233"
},
"downloads": -1,
"filename": "autoadd_bindir-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "31552dcbf0c8032509b72c45f864e560",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.0,<4.0",
"size": 4993,
"upload_time": "2023-04-12T15:31:27",
"upload_time_iso_8601": "2023-04-12T15:31:27.352091Z",
"url": "https://files.pythonhosted.org/packages/4d/da/09cfca24a1a59054290bd94893cf3fd1c00071d888a201ba1fa45ddecb7c/autoadd_bindir-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-12 15:31:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "libranet",
"github_project": "autoadd_bindir",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "autoadd-bindir"
}