Contributing to Passpie¶
Whether reporting bugs, discussing improvements and new ideas or writing extensions: Contributions to Passpie are welcome! Here’s how to get started:
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug
- Fork the repository clone your fork and start making your changes
- Write a test which shows that the bug was fixed or that the feature works as expected
- Send a pull request and bug the maintainer until it gets merged and published ☺
Documentation¶
Passpie documentation is always open to improvements, to help passpie with better documentation. Passpie documentation is hosted on https://readthedocs.org and documentation files are written in RestructuredText for Sphinx
Coding¶
git clone https://github.com/marcwebbie/passpie.git
cd passpie
virtualenv .venv && source .venv/bin/activate
make develop
make
Importers¶
Importers should be independent pluggable code. To add a new importer. Create python module into importers package. If you were writting an importer to a site called superpassword
.
touch passpie/importers/superpassword.py
This importer should inherit from passpie.importers.BaseImporter
and override two methods:
match
: This method should check file passed as filepath and see if it is parseable and can be read by importerhandle
: Return parsed credentials from file. The return must be a list of credentials with plain text passwords
from passpie.importers import BaseImporter
class DefaultImporter(BaseImporter):
def match(self, filepath):
return True
def handle(self, filepath):
credentials = []
return credentials