Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MsGraphExporter

Python 3.6+ Code style: black License: MIT ReadTheDocs Build Status

MsGraphExporter is an application that performs periodic export of time-domain data like Azure AD user signins from Microsoft Graph API into a buffer key-value store (currently supports Redis) for subsequent processing. It uses Celery task queue for parallel processing, gevent greenlets for concurrent uploads, relies on the Graph API pagination to control memory footprint and respects Graph API throttling. The application could be deployed as a single-container worker or as a set of multiple queue-specific workers for high reliability and throughput.

Getting Started

Follow these instructions to use the application.

Installing

MsGraphExporter is distributed through the Python Package Index as ms-graph-exporter. Run the following command to:

  • install a specific version

    pip install "ms-graph-exporter==0.1"
    
  • install the latest version

    pip install "ms-graph-exporter"
    
  • upgrade to the latest version

    pip install --upgrade "ms-graph-exporter"
    
  • install optional DEV dependencies like pytest framework and plugins necessary for performance and functional testing

    pip install "ms-graph-exporter[test]"
    

MsGraphExporter is also distributed as the Alpine-based docker container and published on Docker Hub as undp/ms-graph-exporter.

Service Principal credentials with correct access rights to Graph API must be defined for docker/docker-compose.yamlexample deployment to work. Following .env file should be placed at the root of the project folder, or following ENV variables defined in other way:

GRAPH_CLIENT_ID=<clientId>
GRAPH_CLIENT_SECRET=<clientSecret>
GRAPH_TENANT=<tenant>

Then, docker deployment could be initiated with:

docker-compose --file docker/docker-compose.yaml up

Requirements

  • Python >= 3.6

Built using

Versioning

We use Semantic Versioning Specification as a version numbering convention.

Release History

For the available versions, see the tags on this repository. Specific changes for each version are documented in CHANGELOG.md.

Also, conventions for git commit messages are documented in CONTRIBUTING.md.

Authors

  • Oleksiy Kuzmenko - OK-UNDP@GitHub - Initial design and implementation

Acknowledgments

  • Hat tip to all individuals shaping design of this project by sharing their knowledge in articles, blogs and forums.

License

Unless otherwise stated, all authors (see commit logs) release their work under the MIT License. See LICENSE.md for details.

Contributing

There are plenty of ways you could contribute to this project. Feel free to:

  • submit bug reports and feature requests
  • outline, fix and expand documentation
  • peer-review bug reports and pull requests
  • implement new features or fix bugs

See CONTRIBUTING.md for details on code formatting, linting and testing frameworks used by this project.

Metadata

Release files for ms-graph-exporter 0.1.0rc4.dev201910092

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ms-graph-exporter 0.1.0rc4.dev201910092
File Size Uploaded Provenance Actions
ms-graph-exporter-0.1.0rc4.dev201910092.tar.gz 33.8 kB Without provenance Details for ms-graph-exporter-0.1.0rc4.dev201910092.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ms-graph-exporter 0.1.0rc4.dev201910092
File Interpreter ABI Platform Actions
ms_graph_exporter-0.1.0rc4.dev201910092-py3-none-any.whl Python 3 none any Details for ms_graph_exporter-0.1.0rc4.dev201910092-py3-none-any.whl

Total release size: 83.7 kB

Release files / ms-graph-exporter-0.1.0rc4.dev201910092.tar.gz

Download URL ms-graph-exporter-0.1.0rc4.dev201910092.tar.gz
Size 33.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5018467be675ddced5de36de0c40940369f70f9dec536a052923480a58d2b175
BLAKE2b-256 checksum
How to use checksums
2210b195e0ee7c7e07f6b360790f35cfc56a94ada663659a3513491a0f2b7e57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.17 CPython/3.6.9 Linux/4.15.0-1059-azure

Release files / ms_graph_exporter-0.1.0rc4.dev201910092-py3-none-any.whl

Download URL ms_graph_exporter-0.1.0rc4.dev201910092-py3-none-any.whl
Size 49.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
de5d16aa4d092fca26c2412fb75afa91a1e332089a830c4fab74d0d208c3cb12
BLAKE2b-256 checksum
How to use checksums
1255002fd1cc85eb544e72968a03760a65662ca61f79741dd72b330fa388f7ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.17 CPython/3.6.9 Linux/4.15.0-1059-azure

Security for ms-graph-exporter 0.1.0rc4.dev201910092

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page