Skip to main content

Python client API to access SecureDrop Journalist REST API

Project description

Python SDK for SecureDrop

CircleCI

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. When using pipenv locally, ensure you used the --keep-outdated flag to prevent dependencies from being unnecessarily upgraded during normal development.

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.

Release

To make a release, you should:

  1. Update the version in setup.py.
  2. Update the changelog.
  3. Commit the changes, and git tag.
  4. Create a PR, push the new tag, and get the PR reviewed and merged into master.
  5. Push the new release to the PSF's PyPI following this documentation.

License: GPLv3+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

securedrop-sdk-0.0.7.tar.gz (19.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page