Tooling for developing against the SecureDrop API
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
data
docs
sdclientapi
tests
.gitignore
CHANGELOG.md
Dockerfile.black
LICENSE
MANIFEST.in
Makefile
Pipfile
Pipfile.lock
README.md
setup.py

README.md

Python SDK for SecureDrop

This SDK provides a convenient Python interface to the SecureDrop Journalist Interface API. The development of the SDK was primarily motivated by the creation of the SecureDrop Workstation based on Qubes OS.

The SDK is currently used by the SecureDrop Client that is a component of the SecureDrop Workstation. When used in Qubes OS, the SDK uses the securedrop-proxy service, as the VM which runs the client does not have network access by design.

IMPORTANT: This project is still under active development. We do not recommend using it in any production context.

Development

This project uses pipenv to manage all dependencies. This is a Python 3 project.

We are using mypy for type annotation checks.

We cover all the API calls supported by the SecureDrop Journalist Interface API.

Additional tests will be added in future.

Testing

To test the code, you will need to run the SecureDrop make dev command on the same system. The test suite for this project will test against that development container.

License: GPLv3+