# NVEXPO - Non-Volatile EXPOrt
nxexpo it's a simple tool to define environment variables on-the-fly and persisting them between shell sessions.
## Dependencies
- Python 3.8
### Dependencies to build
- [Poetry](https://python-poetry.org/)
### Dependencies to develop
- [PoeThePoet](https://poethepoet.natn.io/)
- [Ruff](https://docs.astral.sh/ruff/)
- [MyPy](https://www.mypy-lang.org/)
## Installation
To install from the source follow the commands:
```Bash
$ poetry build
$ pip install dist/nvexpo*.whl
```
And add the follow line to your `.bashrc` file:
```Bash
eval "$(nvexpo init bash)"
```
## Basic usage
The usage it's too simple. If you want to create a new env var into the current bash session use the command:
```Bash
$ nx weird_variable=101
```
Then, you can close the current terminal or terminate the bash session, and when you start a new one, your env vars will still be there :sparkles:.
```Bash
$ echo $weird_variable
101
```
### Unset variables
To unset variables you need to use flag `--unset`:
```Bash
$ nx var1="hello world"
$ echo $var1
hello world
$ nx --unset var1
$ echo $var1
$ works!!
```
## Why?
The main motivation for creating this tool was that in my work I like to have the Git branch I'm working on in `$branch`, but it's annoying to have to create it every time I restart or close the terminal I was working on.
I could add it to `.bashrc` directly, but I would have to do it every time I have to work on a new branch and it wasn't comfortable.
So now instead of having to type:
```Bash
branch="super_useful_change"
```
I have to write:
```Bash
nx branch="super_useful_change"
```
and that's it, no matter how many times I restart, my variable will be there.
Raw data
{
"_id": null,
"home_page": "https://git.kirbylife.dev/kirbylife/nvexpo",
"name": "nvexpo",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "cli,bash,export,env var",
"author": "kirbylife",
"author_email": "kirbylife@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/92/f2/91c4e93b71e18bcf02ccf11cd06e8e7ae3014d0deab89ade8d3bb058f1c9/nvexpo-0.1.1.tar.gz",
"platform": null,
"description": "# NVEXPO - Non-Volatile EXPOrt\n\nnxexpo it's a simple tool to define environment variables on-the-fly and persisting them between shell sessions.\n\n## Dependencies\n- Python 3.8\n\n### Dependencies to build\n- [Poetry](https://python-poetry.org/)\n\n### Dependencies to develop\n- [PoeThePoet](https://poethepoet.natn.io/)\n- [Ruff](https://docs.astral.sh/ruff/)\n- [MyPy](https://www.mypy-lang.org/)\n\n## Installation\nTo install from the source follow the commands:\n```Bash\n$ poetry build\n$ pip install dist/nvexpo*.whl\n```\n\nAnd add the follow line to your `.bashrc` file:\n```Bash\neval \"$(nvexpo init bash)\"\n```\n\n## Basic usage\nThe usage it's too simple. If you want to create a new env var into the current bash session use the command:\n```Bash\n$ nx weird_variable=101\n```\n\nThen, you can close the current terminal or terminate the bash session, and when you start a new one, your env vars will still be there :sparkles:.\n```Bash\n$ echo $weird_variable\n101\n```\n\n### Unset variables\nTo unset variables you need to use flag `--unset`:\n```Bash\n$ nx var1=\"hello world\"\n$ echo $var1\nhello world\n$ nx --unset var1\n$ echo $var1\n\n$ works!!\n```\n\n## Why?\nThe main motivation for creating this tool was that in my work I like to have the Git branch I'm working on in `$branch`, but it's annoying to have to create it every time I restart or close the terminal I was working on. \nI could add it to `.bashrc` directly, but I would have to do it every time I have to work on a new branch and it wasn't comfortable. \nSo now instead of having to type:\n```Bash\nbranch=\"super_useful_change\"\n```\nI have to write:\n```Bash\nnx branch=\"super_useful_change\"\n```\nand that's it, no matter how many times I restart, my variable will be there.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://git.kirbylife.dev/kirbylife/nvexpo",
"Repository": "https://git.kirbylife.dev/kirbylife/nvexpo"
},
"split_keywords": [
"cli",
"bash",
"export",
"env var"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ddce64df37cb5caf8a2934482c1eff9c1d96f0621dc65abc80bcee9dbbf4da3",
"md5": "d767005f2bd667b94dd5f8cc8e51e3a2",
"sha256": "cf986ee4662886ffd782ca8bc4872c10be8900892e68e7acd6ec4bcac1bfca32"
},
"downloads": -1,
"filename": "nvexpo-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d767005f2bd667b94dd5f8cc8e51e3a2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 4795,
"upload_time": "2023-11-04T06:22:08",
"upload_time_iso_8601": "2023-11-04T06:22:08.370869Z",
"url": "https://files.pythonhosted.org/packages/8d/dc/e64df37cb5caf8a2934482c1eff9c1d96f0621dc65abc80bcee9dbbf4da3/nvexpo-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "92f291c4e93b71e18bcf02ccf11cd06e8e7ae3014d0deab89ade8d3bb058f1c9",
"md5": "1e47bffbc5e5c1eacc465c6c36fffad9",
"sha256": "e26837b68f0f8e3160e92a9cc40969dd7ec2af8961b6fe529bc3d260ee7814b3"
},
"downloads": -1,
"filename": "nvexpo-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "1e47bffbc5e5c1eacc465c6c36fffad9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 4047,
"upload_time": "2023-11-04T06:22:09",
"upload_time_iso_8601": "2023-11-04T06:22:09.762438Z",
"url": "https://files.pythonhosted.org/packages/92/f2/91c4e93b71e18bcf02ccf11cd06e8e7ae3014d0deab89ade8d3bb058f1c9/nvexpo-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-04 06:22:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "nvexpo"
}