{"id":31772996,"url":"https://github.com/kb-perbyte/kini","last_synced_at":"2026-01-20T16:43:24.753Z","repository":{"id":304121472,"uuid":"1017824581","full_name":"KB-perByte/kini","owner":"KB-perByte","description":"Kini - A Secure CLI Password Manager","archived":false,"fork":false,"pushed_at":"2025-07-11T09:55:48.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-20T11:20:43.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KB-perByte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-07-11T06:46:01.000Z","updated_at":"2025-07-11T09:55:52.000Z","dependencies_parsed_at":"2025-07-11T10:41:17.545Z","dependency_job_id":"89e38365-e28a-46ca-b38d-f6c580ae76ca","html_url":"https://github.com/KB-perByte/kini","commit_stats":null,"previous_names":["kb-perbyte/kini","kb-perbyte/cli_vault","kb-perbyte/cli-vault"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/KB-perByte/kini","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KB-perByte%2Fkini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KB-perByte%2Fkini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KB-perByte%2Fkini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KB-perByte%2Fkini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KB-perByte","download_url":"https://codeload.github.com/KB-perByte/kini/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KB-perByte%2Fkini/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002685,"owners_count":26083442,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-10-10T04:19:27.394Z","updated_at":"2025-10-10T04:19:32.069Z","avatar_url":"https://github.com/KB-perByte.png","language":"Python","readme":"# Kini - Secure Password Manager\n\n( Your secrets are safe )\n\nA secure command-line password manager with encryption, hashing, backup, and search capabilities.\n\n## Features\n\n- **Secure Encryption**: Uses AES-256 encryption (Fernet) for all stored data\n- **Master Password**: Single password protects all your passwords\n- **Password History**: Track password changes with timestamps\n- **Search Functionality**: Find passwords quickly by service name\n- **Backup \u0026 Restore**: Create and restore from encrypted backups\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n\n## Installation\n\n### From PyPI (to be published)\n\n```bash\npip install kini\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/KB-peByte/kini.git\ncd kini\npip install -e .\n```\n\n## Usage\n\n### First Time Setup\n\n```bash\nkini list\n# This will prompt you to create a master password\n```\n\n### Adding Passwords\n\n```bash\n# Interactive mode\nkini add\n\n# Command line mode\nkini add -s \"gmail\" -u \"user@gmail.com\" -p \"mypassword\"\n```\n\n### Retrieving Passwords\n\n```bash\n# Get specific password\nkini get -s \"gmail\"\n\n# Search for passwords\nkini search -q \"mail\"\n\n# List all passwords\nkini list\n```\n\n### Password History\n\n```bash\n# View password history for a service\nkini history -s \"gmail\"\n```\n\n### Backup \u0026 Restore\n\n```bash\n# Create backup\nkini backup\n\n# List backups\nkini backup list\n\n# Restore from backup\nkini restore -b \"passwords_backup_20240101_120000.json\"\n```\n\n### Other Commands\n\n```bash\n# Delete a password\nkini delete -s \"gmail\"\n\n# Show version\nkini --version\n```\n\n## Security\n\n- All passwords are encrypted using AES-256 (Fernet)\n- Master password is hashed using SHA-256\n- Key derivation uses PBKDF2 with 100,000 iterations\n- Unique salt for each installation\n- Data stored locally in `~/.kini/`\n\n## Data Location\n\n- **Linux/macOS**: `~/.kini/`\n- **Windows**: `%USERPROFILE%\\.kini\\`\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Development and Testing\n\n### Installing Development Dependencies\n\n```bash\n# Install with development dependencies\npip install -e .[dev]\n\n# Or install test dependencies only\npip install -r requirements-test.txt\n```\n\n### Running Tests\n\n```bash\n# Run all tests\npytest tests/ -v\n\n# Run tests with coverage\npytest tests/ --cov=kini --cov-report=term-missing --cov-report=html\n\n# Using make commands\nmake test          # Run tests\nmake test-cov      # Run tests with coverage\nmake lint          # Run linting\nmake format        # Format code\nmake install-dev   # Install dev dependencies\n```\n\n### Using Tox for Multi-Version Testing\n\n```bash\n# Install tox\npip install tox\n\n# Run tests across all Python versions\ntox\n\n# Run specific environments\ntox -e py311        # Test Python 3.11\ntox -e lint         # Run linting\ntox -e coverage     # Run coverage report\n```\n\n### Test Structure\n\n- `tests/test_password_manager.py` - Main test suite\n- `tests/conftest.py` - Test configuration and fixtures\n- `pytest.ini` - Pytest configuration\n- `tox.ini` - Tox configuration for multi-version testing\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Run the test suite: `make test`\n6. Submit a pull request\n\n## Security Considerations\n\n- Never share your master password\n- Regularly create backups\n- Store backups in a secure location\n- Use strong, unique passwords for your services\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkb-perbyte%2Fkini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkb-perbyte%2Fkini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkb-perbyte%2Fkini/lists"}