# semi-secret
A secure key-value storage utility with command-line interface
[![Linting](https://github.com/zackees/semi-secret/actions/workflows/lint.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/lint.yml)
[![macOS Tests](https://github.com/zackees/semi-secret/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_macos.yml)
[![Ubuntu Tests](https://github.com/zackees/semi-secret/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_ubuntu.yml)
[![Windows Tests](https://github.com/zackees/semi-secret/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_win.yml)
## Installation
```bash
pip install semi-secret
```
## Usage
Store a secret:
```bash
semi-secret --store "mysalt=mykey=myvalue"
```
Retrieve a secret:
```bash
semi-secret --load "mysalt=mykey"
```
## Development
To set up the development environment:
```bash
. ./activate.sh
```
### Windows
This environment requires you to use `git-bash`.
### Linting
Run `./lint.sh` to check code quality using `pylint`, `flake8` and `mypy`.
## Security
This tool uses Fernet encryption (from the cryptography package) with PBKDF2 key derivation to securely store your data. Data is stored encrypted in `~/.semi_secret/secrets.enc`.
## Releases
* 1.0.4 - Improve usage.
* 1.0.2 - Improve usage so that any arbitrary string can be used as the salt
* 1.0.1 - Usage fixes from the inclusion in `advanced-aicode`
* 1.0.0 - Initial release
Raw data
{
"_id": null,
"home_page": "https://github.com/zackees/semi-secret",
"name": "semi-secret",
"maintainer": "Zachary Vorhies",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "template-python-cmd",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/76/a2/a93ba3577cc7c8a106eb4f7c40bf26bf5d0004d10b1c061462fc13162875/semi_secret-1.0.4.tar.gz",
"platform": null,
"description": "# semi-secret\r\nA secure key-value storage utility with command-line interface\r\n\r\n[![Linting](https://github.com/zackees/semi-secret/actions/workflows/lint.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/lint.yml) \r\n\r\n[![macOS Tests](https://github.com/zackees/semi-secret/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_macos.yml)\r\n[![Ubuntu Tests](https://github.com/zackees/semi-secret/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_ubuntu.yml)\r\n[![Windows Tests](https://github.com/zackees/semi-secret/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/semi-secret/actions/workflows/test_win.yml)\r\n## Installation\r\n\r\n```bash\r\npip install semi-secret\r\n```\r\n\r\n## Usage\r\n\r\nStore a secret:\r\n```bash\r\nsemi-secret --store \"mysalt=mykey=myvalue\"\r\n```\r\n\r\nRetrieve a secret:\r\n```bash\r\nsemi-secret --load \"mysalt=mykey\"\r\n```\r\n\r\n## Development\r\n\r\nTo set up the development environment:\r\n```bash\r\n. ./activate.sh\r\n```\r\n\r\n### Windows\r\n\r\nThis environment requires you to use `git-bash`.\r\n\r\n### Linting\r\n\r\nRun `./lint.sh` to check code quality using `pylint`, `flake8` and `mypy`.\r\n\r\n## Security\r\n\r\nThis tool uses Fernet encryption (from the cryptography package) with PBKDF2 key derivation to securely store your data. Data is stored encrypted in `~/.semi_secret/secrets.enc`.\r\n\r\n## Releases\r\n\r\n * 1.0.4 - Improve usage.\r\n * 1.0.2 - Improve usage so that any arbitrary string can be used as the salt\r\n * 1.0.1 - Usage fixes from the inclusion in `advanced-aicode`\r\n * 1.0.0 - Initial release\r\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Semi Secret Key-value storage",
"version": "1.0.4",
"project_urls": {
"Homepage": "https://github.com/zackees/semi-secret"
},
"split_keywords": [
"template-python-cmd"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "872247fc44e4f64a4776f37f65a4c4699bbad1e950267da1750f3f8d1233cb08",
"md5": "976482f75426e35563802f482233f8b1",
"sha256": "fa71d6d703063261dc1ce5449e3e0c8e6632bb37a00d2031d3350eeab77f41c2"
},
"downloads": -1,
"filename": "semi_secret-1.0.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "976482f75426e35563802f482233f8b1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 6443,
"upload_time": "2024-11-12T09:14:19",
"upload_time_iso_8601": "2024-11-12T09:14:19.776540Z",
"url": "https://files.pythonhosted.org/packages/87/22/47fc44e4f64a4776f37f65a4c4699bbad1e950267da1750f3f8d1233cb08/semi_secret-1.0.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "76a2a93ba3577cc7c8a106eb4f7c40bf26bf5d0004d10b1c061462fc13162875",
"md5": "63f96f88c6274a0f0a607ed47ff3ad6c",
"sha256": "9625440754d436fde6b0383d7774f718376c4648c870abe25ea00916eab02283"
},
"downloads": -1,
"filename": "semi_secret-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "63f96f88c6274a0f0a607ed47ff3ad6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 12431,
"upload_time": "2024-11-12T09:14:21",
"upload_time_iso_8601": "2024-11-12T09:14:21.823596Z",
"url": "https://files.pythonhosted.org/packages/76/a2/a93ba3577cc7c8a106eb4f7c40bf26bf5d0004d10b1c061462fc13162875/semi_secret-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-12 09:14:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zackees",
"github_project": "semi-secret",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "semi-secret"
}