GitXplorerGitXplorer
a

python-pass

public
38 stars
16 forks
13 issues

Commits

List of commits on branch master.
Unverified
1aeae14147bd71004116f5c2dbbf2774268d24d5

Make flake8 happy

TTheLastProject committed 5 years ago
Unverified
97fec2a8fecec51fefc9b34be7863c1d7ec93101

Add support for .gpg_id files in subdirectories

TTheLastProject committed 5 years ago
Verified
c86fd551f2b3da5369f3c178eb3feaa9a07d9149

Merge pull request #21 from prabi/insert (thanks @prabi !)

aaviau committed 6 years ago
Unverified
445755ffe408768c506e4546fb8fd5dbcf5a0efd

Added the --echo option to the insert command.

pprabi committed 6 years ago
Unverified
050cc8f982d47ada3c5d016f5ab027e0818ea1c8

Adjusted the behavior of insert --multiline to match pass'.

pprabi committed 6 years ago
Verified
18452291fe07a5ff938b31f7d0b1196cd2060998

Merge pull request #19 from prabi/git_pass_opts

aaviau committed 6 years ago

README

The README file for this repository.

python-pass ###########

.. image:: https://travis-ci.org/aviau/python-pass.svg?branch=master :target: https://travis-ci.org/aviau/python-pass

.. image:: https://img.shields.io/coveralls/aviau/python-pass.svg :target: https://coveralls.io/r/aviau/python-pass?branch=master

.. image:: https://readthedocs.org/projects/pypass/badge/?version=latest&style :target: https://readthedocs.org/projects/pypass/ :alt: Documentation Status

.. image:: https://img.shields.io/pypi/v/pypass.svg :target: https://pypi.python.org/pypi/pypass/ :alt: Latest Version

For fun, I have decided to write pass <http://www.passwordstore.org/>_ in Python.

Python-pass will provide the same functionality as pass <http://www.passwordstore.org/>_. In addition, it will be usable as a library.

Testing +++++++

Python-pass is tested for python 2.7, 3.6, 3.7, pypy and pypy3

On your machine

  • Install the requirements: sudo apt-get install -y gnupg tree
  • Prepare the gnupg home directory for testing: make setup_gpg
  • Run the tests: tox

With Docker

  • Run the tests in a container: make test
  • Or, get a shell with pypass installed: make run

Documentation +++++++++++++

Documentation for python-pass is available on pypass.rtfd.org <http://pypass.readthedocs.org/>_.

You can build the documentation and the man page yourself with tox -edocs. The HTML documentation will be built in docs/build/html and the man page will be built in docs/build/man.

Project Status ++++++++++++++

Bash completion

Comming soon.

pypass init

  • [X] pypass init - creates a folder and a .gpg-id file
  • [X] Support --path option
  • [ ] re-encryption functionality
  • [X] Should output: Password store initialized for [gpg-id].
  • [X] --clone <url> allows to init from an existing repo

pypass insert

  • [X] pypass insert test.com prompts for a password and creates a test.com.gpg file
  • [X] multi-line support
  • [X] create a git commit
  • [X] When inserting in a folder with a .gpg-id file, insert should use the .gpg-id file's key

pypass show

  • [X] pypass show test.com will display the content of test.com.gpg
  • [X] --clip, -c copies the first line to the clipboard
  • [ ] --password, and --username options. Accepted format: :: <the_password> login: <the_login> url: <the_url>

pypass connect (or ssh)

This new command should connect to a server using an encrypted rsa key.

pypass ls

  • [X] pypass ls shows the content of the password store with tree
  • [X] pypass invokes pypass ls by default
  • [X] pypass ls subfolder calls tree on the subfolder only
  • [X] Hide .gpg at the end of each entry
  • [X] Accept subfolder argument
  • [X] First output line should be Password Store

pypass rm

  • [X] pypass rm test.com removes the test.com.gpg file
  • [ ] pypass remove and pypass delete aliases
  • [X] pypass rm -r folder (or --recursive) will remove a folder and all of it's content (not interactive!)
  • [X] Ask for confirmation

pypass find

  • [X] pypass find python.org pypass will show a tree with password entries that match python.org or pass
  • [X] Accepts one or many search terms

pypass cp

  • [X] pypass cp old-path new-pah copies a password to a new path
  • [ ] Dont overwrite

pypass mv

  • [X] pypass mv old-path new-path moves a password to a new path
  • [ ] Dont overwrite

pypass git

  • [X] Pass commands to git
  • [X] pypass git init should behave differently with an existing password store
  • [X] Add tests

pypass edit

  • [X] pypass edit test.com will open a text editor and let you edit the password

pypass grep

  • [X] pypass grep searchstring will search for the given string inside all of the encrypted passwords

pypass generate

  • [X] pypass generate [pass-name] [pass-length] Genrates a new password using of length pass-length and inserts it into pass-name.
  • [X] pass-length argument is optional, defaults to 25, can be set with envvar PASSWORD_STORE_GENERATED_LENGTH
  • [X] --no-symbols, -n
  • [X] --clip, -c
  • [X] --in-place, -i modify only the first line, fails if pass-name doesn't exist
  • [ ] --force, -f