Metadata-Version: 2.1
Name: clpm
Version: 1.3.6
Summary: A command-line password manager
Home-page: https://github.com/alexjaniak/clpm
Author: alexjaniak
License: MIT 2021
Description: # CLPM: A Command-Line Password Manager. 
        ## Table of Contents
        1. [About](#About)
        2. [Installation](#Installation)
            1. [Requirements](#Requirements)
            2. [Regular Install](#Regular-Install)
            3. [Local/Manual Install](#Local-Install)
            4. [Uninstall](#Uninstall)
        3. [Usage](#Usage)
            1. [Add Account](#Add-Account)
            2. [Remove Account](#Remove-Account)
            3. [Query Database](#Query)
            4. [Reset](#Reset)
        4. [TODO](#TODO)
        
        
        ## About <a name="About"></a>
        CLPM is a is an easy-to-use out-of-the-box password manager accesible solely 
        through the command-line. The passwords are encrypted using 256 bit AES and the
        master password is hashed using 256 bit SHA-3. The master password is used to
        generate a key for encryption and for accessing the accounts. The accounts are
        stored in a local SQL database. 
        
        ## Installation <a name="Installation"></a>
        ### Requirements
        * `python >= 3.9`
        * `pip >= 21.1.2`
        
        Automatically installed by pip:
        * `Click >= 8.1.3`
        * `pycryptodome >= 3.14.1`
        * `prettytable >= 3.3.0`
        
        ### Regular Install <a name="Regular-Install"></a>
        For most, installing this project can be done running `pip install clpm`, 
        which pulls the project from [PyPI](https://pypi.org/project/clpm/).
        
        
        ### Local/Manual Install <a name="Local-Install"></a>
        If needed, this project can be installed and run locally:
        1. Clone this project to a local repository.
        2. Run `python setup.py install`
        *Note: setup.py uses pip to install the project as a package on the local system*
        
        ### Uninstall <a name="Uninstall"></a>
        To uninstall this project, for both remote and local installations, run 
        `pip uninstall clpm`
        
        If clpm has been already been initialized, pip won't delete the file 
        `passwords.db` which contains all stored account information. This means that
        clpm can be reinstalled and still retain the same accounts & master password.
        If you wish to completely remove clpm from your device, you must manually remove
        `passwords.db` by either using the `rm` command or a file explorer. 
        
           
        ## Usage <a name="Usage"></a>
        Run `clpm init` to initialize the database. A prompt & confirmation will appear 
        to input a **master password**. The master password is required for to access 
        the database for all commands. In fact, all commands - including `init` - accept
        a `--password` argument for the master password instead of a prompt.
        
        *Note: clpm will not work unless a master password is set through `clpm init` 
        first.* 
        
        ### Add Account <a name="Add-Account"></a>
        To add an account to the database, run `clpm add`. After a prompt to input the 
        master password, a menu will appear that requests input for **account name**, 
        username, email, tag and **password**. Bolded fields are required. If the field 
        is not required, press *Enter* to leave it empty. At any point, press *q* to 
        terminate the command. 
        
        Each Account includes an automatically generated id that iterates for each 
        added account.
        
        ### Remove Account <a name="Remove-Account"></a>
        To remove an account from the database, run `clpm delete ID` where ID is the
        accounts id. Once again, a prompt to input the master password will appear.
        
        ### Query Database <a name="Query"></a>
        To query the database, run `clpm query`. This command alone will simply output
        all accounts and information. Use arguments to search by attributes:
        1. `-l/--all` serve the same purpose as `clpm query` with no arguments.
        2. `-a/--accounts ACCOUNT` search for accounts with the account field ACCOUNT.
        3. `-t/--tags TAG` search for accounts that with the tag field TAG.
        4. `-i/--ids ID` retrieves the acccount with an id field of ID.
        
        
        ### Reset <a name="Reset"></a>
        To reset the database (i.e, remove all accounts and master password), run 
        `clpm reset`. A confirmation prompt as well as a master password prompt will
        appear. This will clear `passwords.db` but leave the file on the system.
        
        *Note: after reset, clpm will not work unless it is reinitialized.*
        
        ## TODO <a name="TODO"></a>
        * Encrypt all account information rather than just passwords.
        * Revamp menu.
        * Fix double init/reset error.
        * Clear terminal history after query/add.
        
Platform: UNKNOWN
Description-Content-Type: text/markdown
