diffy

View on PyPIReverse Dependencies (0)

0.1.0 diffy-0.1.0-py2.py3-none-any.whl

Wheel Details

Project: diffy
Version: 0.1.0
Filename: diffy-0.1.0-py2.py3-none-any.whl
Download: [link]
Size: 47262
MD5: 221c3567ee7afd7d654b755cf823453a
SHA256: 237c7fac29b43336060765fc8dcd5b02b4714a116b7daa9865960a462daf6b46
Uploaded: 2018-06-06 19:14:14 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: diffy
Version: 0.1.0
Summary: Forensic differentiator
Author: Netflix
Author-Email: security[at]netflix.com
Home-Page: https://github.com/Netflix-Skunkworks/diffy
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.6
Requires-Dist: boto3 (==1.7.9)
Requires-Dist: botocore (==1.10.9)
Requires-Dist: click-log (==0.2.1)
Requires-Dist: click (==6.7)
Requires-Dist: deepdiff (==3.3.0)
Requires-Dist: docutils (==0.14)
Requires-Dist: dogpile.cache (==0.6.4)
Requires-Dist: fuzzywuzzy (==0.16.0)
Requires-Dist: jmespath (==0.9.3)
Requires-Dist: jsondiff (==1.1.1)
Requires-Dist: jsonpickle (==0.9.6)
Requires-Dist: jsonschema (==2.6.0)
Requires-Dist: marshmallow-jsonschema (==0.5.0)
Requires-Dist: marshmallow (==2.15.1)
Requires-Dist: python-dateutil (==2.7.2)
Requires-Dist: python-levenshtein (==0.12.0)
Requires-Dist: pyyaml (==3.12)
Requires-Dist: retrying (==1.3.3)
Requires-Dist: s3transfer (==0.1.13)
Requires-Dist: six (==1.11.0)
Requires-Dist: swag-client (==0.3.8)
Requires-Dist: tabulate (==0.8.2)
Requires-Dist: alabaster (==0.7.10); extra == "dev"
Requires-Dist: aniso8601 (==3.0.0); extra == "dev"
Requires-Dist: aspy.yaml (==1.1.0); extra == "dev"
Requires-Dist: attrs (==17.4.0); extra == "dev"
Requires-Dist: autopep8 (==1.3.5); extra == "dev"
Requires-Dist: babel (==2.5.3); extra == "dev"
Requires-Dist: bandit (==1.4.0); extra == "dev"
Requires-Dist: blinker (==1.4); extra == "dev"
Requires-Dist: boto3 (==1.7.9); extra == "dev"
Requires-Dist: botocore (==1.10.9); extra == "dev"
Requires-Dist: bumpversion (==0.5.3); extra == "dev"
Requires-Dist: cached-property (==1.4.2); extra == "dev"
Requires-Dist: certifi (==2018.4.16); extra == "dev"
Requires-Dist: cfgv (==1.0.0); extra == "dev"
Requires-Dist: chardet (==3.0.4); extra == "dev"
Requires-Dist: click-log (==0.2.1); extra == "dev"
Requires-Dist: click (==6.7); extra == "dev"
Requires-Dist: codecov (==2.0.15); extra == "dev"
Requires-Dist: coverage (==4.5.1); extra == "dev"
Requires-Dist: deepdiff (==3.3.0); extra == "dev"
Requires-Dist: docutils (==0.14); extra == "dev"
Requires-Dist: dogpile.cache (==0.6.4); extra == "dev"
Requires-Dist: first (==2.0.1); extra == "dev"
Requires-Dist: flake8 (==3.5.0); extra == "dev"
Requires-Dist: flask-restful (==0.3.6); extra == "dev"
Requires-Dist: flask (==1.0.1); extra == "dev"
Requires-Dist: fuzzywuzzy (==0.16.0); extra == "dev"
Requires-Dist: gitdb2 (==2.0.3); extra == "dev"
Requires-Dist: gitpython (==2.1.9); extra == "dev"
Requires-Dist: gunicorn (==19.8.1); extra == "dev"
Requires-Dist: identify (==1.0.13); extra == "dev"
Requires-Dist: idna (==2.6); extra == "dev"
Requires-Dist: imagesize (==1.0.0); extra == "dev"
Requires-Dist: inflection (==0.3.1); extra == "dev"
Requires-Dist: itsdangerous (==0.24); extra == "dev"
Requires-Dist: jinja2 (==2.10); extra == "dev"
Requires-Dist: jmespath (==0.9.3); extra == "dev"
Requires-Dist: jsondiff (==1.1.1); extra == "dev"
Requires-Dist: jsonpickle (==0.9.6); extra == "dev"
Requires-Dist: jsonschema (==2.6.0); extra == "dev"
Requires-Dist: markupsafe (==1.0); extra == "dev"
Requires-Dist: marshmallow-jsonschema (==0.5.0); extra == "dev"
Requires-Dist: marshmallow (==2.15.1); extra == "dev"
Requires-Dist: mccabe (==0.6.1); extra == "dev"
Requires-Dist: more-itertools (==4.1.0); extra == "dev"
Requires-Dist: mypy (==0.590); extra == "dev"
Requires-Dist: nodeenv (==1.3.0); extra == "dev"
Requires-Dist: packaging (==17.1); extra == "dev"
Requires-Dist: pbr (==4.0.2); extra == "dev"
Requires-Dist: pip-tools (==2.0.2); extra == "dev"
Requires-Dist: pluggy (==0.6.0); extra == "dev"
Requires-Dist: pre-commit-hooks (==1.2.3); extra == "dev"
Requires-Dist: pre-commit (==1.8.2); extra == "dev"
Requires-Dist: py (==1.5.3); extra == "dev"
Requires-Dist: pycodestyle (==2.3.1); extra == "dev"
Requires-Dist: pyflakes (==1.6.0); extra == "dev"
Requires-Dist: pygments (==2.2.0); extra == "dev"
Requires-Dist: pyparsing (==2.2.0); extra == "dev"
Requires-Dist: pytest-cov (==2.5.1); extra == "dev"
Requires-Dist: pytest-flask (==0.10.0); extra == "dev"
Requires-Dist: pytest (==3.5.1); extra == "dev"
Requires-Dist: python-dateutil (==2.7.2); extra == "dev"
Requires-Dist: python-levenshtein (==0.12.0); extra == "dev"
Requires-Dist: pytz (==2018.4); extra == "dev"
Requires-Dist: pyyaml (==3.12); extra == "dev"
Requires-Dist: raven[flask] (==6.7.0); extra == "dev"
Requires-Dist: requests (==2.18.4); extra == "dev"
Requires-Dist: retrying (==1.3.3); extra == "dev"
Requires-Dist: s3transfer (==0.1.13); extra == "dev"
Requires-Dist: six (==1.11.0); extra == "dev"
Requires-Dist: smmap2 (==2.0.3); extra == "dev"
Requires-Dist: snowballstemmer (==1.2.1); extra == "dev"
Requires-Dist: sphinx-autodoc-annotation (==1.0.post1); extra == "dev"
Requires-Dist: sphinx (==1.7.4); extra == "dev"
Requires-Dist: sphinxcontrib-websupport (==1.0.1); extra == "dev"
Requires-Dist: stevedore (==1.28.0); extra == "dev"
Requires-Dist: swag-client (==0.3.8); extra == "dev"
Requires-Dist: tabulate (==0.8.2); extra == "dev"
Requires-Dist: typed-ast (==1.1.0); extra == "dev"
Requires-Dist: urllib3 (==1.22); extra == "dev"
Requires-Dist: virtualenv (==15.2.0); extra == "dev"
Requires-Dist: werkzeug (==0.14.1); extra == "dev"
Requires-Dist: aniso8601 (==3.0.0); extra == "web"
Requires-Dist: blinker (==1.4); extra == "web"
Requires-Dist: boto3 (==1.7.9); extra == "web"
Requires-Dist: botocore (==1.10.9); extra == "web"
Requires-Dist: click-log (==0.2.1); extra == "web"
Requires-Dist: click (==6.7); extra == "web"
Requires-Dist: croniter (==0.3.20); extra == "web"
Requires-Dist: deepdiff (==3.3.0); extra == "web"
Requires-Dist: docutils (==0.14); extra == "web"
Requires-Dist: dogpile.cache (==0.6.4); extra == "web"
Requires-Dist: flask-restful (==0.3.6); extra == "web"
Requires-Dist: flask-rq2 (==18.0); extra == "web"
Requires-Dist: flask (==1.0.2); extra == "web"
Requires-Dist: fuzzywuzzy (==0.16.0); extra == "web"
Requires-Dist: gunicorn (==19.8.1); extra == "web"
Requires-Dist: inflection (==0.3.1); extra == "web"
Requires-Dist: itsdangerous (==0.24); extra == "web"
Requires-Dist: jinja2 (==2.10); extra == "web"
Requires-Dist: jmespath (==0.9.3); extra == "web"
Requires-Dist: jsondiff (==1.1.1); extra == "web"
Requires-Dist: jsonpickle (==0.9.6); extra == "web"
Requires-Dist: jsonschema (==2.6.0); extra == "web"
Requires-Dist: markupsafe (==1.0); extra == "web"
Requires-Dist: marshmallow-jsonschema (==0.5.0); extra == "web"
Requires-Dist: marshmallow (==2.15.1); extra == "web"
Requires-Dist: python-dateutil (==2.7.2); extra == "web"
Requires-Dist: python-levenshtein (==0.12.0); extra == "web"
Requires-Dist: pytz (==2018.4); extra == "web"
Requires-Dist: pyyaml (==3.12); extra == "web"
Requires-Dist: raven[flask] (==6.7.0); extra == "web"
Requires-Dist: redis (==2.10.6); extra == "web"
Requires-Dist: retrying (==1.3.3); extra == "web"
Requires-Dist: rq-scheduler (==0.8.2); extra == "web"
Requires-Dist: rq (==0.10.0); extra == "web"
Requires-Dist: s3transfer (==0.1.13); extra == "web"
Requires-Dist: six (==1.11.0); extra == "web"
Requires-Dist: swag-client (==0.3.8); extra == "web"
Requires-Dist: tabulate (==0.8.2); extra == "web"
Requires-Dist: werkzeug (==0.14.1); extra == "web"
Provides-Extra: dev
Provides-Extra: web
Provides-Extra: dev
Provides-Extra: web
[Description omitted; length: 3564 characters]

WHEEL

Wheel-Version: 1.0
Generator: bdist_wheel (0.31.1)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

RECORD

Path Digest Size
diffy/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy/_version.py sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0 22
diffy/accounts.py sha256=igATDU_52Iq-ftaSTznbdwSPQjCoakdiEktdmUmETzk 2176
diffy/config.py sha256=BG4ovLOlK_F79iRW3pYCm4N-k_ufxWKndfZ7mt4nUmA 7543
diffy/core.py sha256=IlhDujP5MBT2K5mSxM8UJaIbxJZf8Go6Dk03DskzMWM 3039
diffy/exceptions.py sha256=_MidSjVoVLetmuiipS_H3b2t3hwlDov3c0mJo5B0bf0 3055
diffy/extensions.py sha256=ONSKSBy8-88Ev6VSWDxy1RGFgWlwa4kVUu12zP1lboU 239
diffy/filters.py sha256=c13ffMxQrxer6FUz2o7NpeH3fzPXfuPp_bcJaVP_6Xw 390
diffy/schema.py sha256=b2IXNZyX8rc1Rk92Tcbx0l9bfb9B9M9QeKtub6TY7JI 3895
diffy/plugins/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy/plugins/base/__init__.py sha256=BeocFVBCS3xdfEOrBhOutNKH3wrBEXEVd3VfDb4uwWU 468
diffy/plugins/base/manager.py sha256=Mf9xBPpQE2q5mdZWpRqra_hlQGEQQnATe_ij8t4pE6o 2170
diffy/plugins/base/v1.py sha256=8wKWGxl_krLBvgjb-dcSuH34cUIuvlmOi9J786sqfBM 3645
diffy/plugins/bases/__init__.py sha256=kKU33JzqoBv7XOzWXLFbIlI_hCTMYF30o-6eBXjFPcM 229
diffy/plugins/bases/analysis.py sha256=LzNB_NGZ-e425cvT89MaGbJZHNprzOByCxAEcSrQPqc 478
diffy/plugins/bases/collection.py sha256=-4xajE08bGjoAxCm2uTxGHZTeIXbtcVyiONfRB5KPy0 507
diffy/plugins/bases/payload.py sha256=UEFvB28QsYeFS0iqGyvURDthXG6tJ839WeISE-Gs9IE 483
diffy/plugins/bases/persistence.py sha256=KMt0qWdz7Hgn46tywR8xYkpN88XS5Rn1KftBhjBgrvk 652
diffy/plugins/bases/target.py sha256=2Ur_sQQQtTh7wk2jrrUzChL-tjw0p3hUF298lCJ5_Jo 471
diffy/plugins/diffy_aws/__init__.py sha256=YnoNBii7Tik37_KeR0yufTmRO6dk9fG3SYaM1VKwPvU 46
diffy/plugins/diffy_aws/auto_scaling.py sha256=SE8BUUsiFTW2pEL1eSipzH80yr5-2OHIiPr4r35UllM 1293
diffy/plugins/diffy_aws/plugin.py sha256=Bt1fYX0luaIdYIQnEzVKyQAleBpyPdCBYDw7SY-3ogI 3433
diffy/plugins/diffy_aws/s3.py sha256=PczJxJLLW0AD0Lp3rf7wbWZdczd9jk6D1Z4Wxwr-blY 1793
diffy/plugins/diffy_aws/ssm.py sha256=R-_sgfbpnJ8cjyU7yQ1k7Jjt9cp2DUKlueOa5WSfnEk 5358
diffy/plugins/diffy_aws/sts.py sha256=WjQ_CBikYOOadwEvnqkvtKHyqn45Iib-kUjmAWrB1G8 1974
diffy/plugins/diffy_aws/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy/plugins/diffy_aws/tests/conftest.py sha256=mfs9M4hhtfWh10UJ9FOSdPmkNFTrWXTTtwZRVr1qfUs 34
diffy/plugins/diffy_local/__init__.py sha256=_oUJzH4THrH11W57e487H7-t76k4hetCoAl4IMLmz-A 45
diffy/plugins/diffy_local/plugin.py sha256=FniPgHF8NExfFBUDqgEW8_k-AkeE37ATJtE5zs00qsQ 3898
diffy/plugins/diffy_local/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy/plugins/diffy_local/tests/conftest.py sha256=NvZ4rQB4i0iACfoXOs2E12fhh18NsV2_-tAdxkQT5pA 42
diffy/plugins/diffy_osquery/__init__.py sha256=tXuYraCm6mf4W9YvIhQhi7YBQykWBAtrJt8iL0jA_qs 46
diffy/plugins/diffy_osquery/plugin.py sha256=h9YF8fnEuvrymcrMWfvVx9jmmhUWO8EzskAYXF4d15A 2122
diffy/plugins/diffy_osquery/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy/plugins/diffy_osquery/tests/conftest.py sha256=NvZ4rQB4i0iACfoXOs2E12fhh18NsV2_-tAdxkQT5pA 42
diffy-0.1.0.dist-info/LICENSE.txt sha256=FZNvmk6IOPLJFuycN8mTSgYYC5TpvSZA8pvB2ID_L6w 11342
diffy-0.1.0.dist-info/METADATA sha256=NzUbjDms8PkrOfWt5L6jcGQ_lYlmJrl_yRAkF8R20cM 11246
diffy-0.1.0.dist-info/RECORD
diffy-0.1.0.dist-info/WHEEL sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk 110
diffy-0.1.0.dist-info/entry_points.txt sha256=_6eH3uaXFTeIHcV5ekv5dydJeNbfhscp9MyM8xqytvw 692
diffy-0.1.0.dist-info/top_level.txt sha256=XX6QNL1eCsTeoQC7ExxnTPbb81rw9kzqCkdFIY5i_i8 32
diffy_api/__init__.py sha256=ldipkKGWTk4ECCcxqD92a15GcyUK13D8S4p9HmU7juY 1933
diffy_api/core.py sha256=rHRB_fYO1Fr33cwDFjzhy6BMp8rpORQQoXRjXhOZkvA 711
diffy_api/extensions.py sha256=WIGehRQyW9WlJcmPMfHsnt0w6qVEAAnLiQuuevQHVHc 268
diffy_api/factory.py sha256=ridN5Z_rk3ME5uOtCT6qAZS3Q18kcUS_E79KVd4xvng 3166
diffy_api/schemas.py sha256=ppN1OpfEr3qfCW9-akxZEaBa0Pr0uj0VK95sYOp83FA 1560
diffy_api/common/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_api/common/health.py sha256=26emkUGRE5BVAASfeI295yJ91MM8WLr9wrj82y1wWjM 358
diffy_api/common/util.py sha256=Kq4_DyfVfk29HFGPTB8YatzqFtWEnr_qRBRJiU7WXKo 2450
diffy_api/plugins/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_api/plugins/views.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_api/tasks/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_api/tasks/views.py sha256=XtmimnK5a7fXb1LSBFfo4sj-RsScY-7drYOTt2IaFIY 2258
diffy_cli/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_cli/core.py sha256=c--RCWs6utvKmo32xeHcHVwZBUWbsuYpg-uHvUu14Bs 6266
diffy_cli/utils/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
diffy_cli/utils/dynamic_click.py sha256=IQvuLsNu0ra4yS8rOlxhtokSgKeAu_K2WlojdkycEYw 3617
diffy_cli/utils/json_schema.py sha256=yd_e_Jc9n49rXgEnQZDmIyRfnrnwMLirx9dG_iZddZw 1873
tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
tests/conf.py sha256=HugMltLXzhXp9_3vjX7AmovGp9Adggymmy2FZx2qQc0 393
tests/conftest.py sha256=zi7lGG3Ga1KLlEJir46ZQeNJt2WTsVLfI3ASaNhMkq0 4296
tests/test_analysis.py sha256=KqDdoFWApcAO6HnE2E4bfUFgmtGwNlfO0RxeQcwRu2U 2139
tests/test_baseline.py sha256=ZysJhcQyoRnrl6LKBlNJ-C3ikCj2kRE_nYfvcj_ABEU 2153

top_level.txt

diffy
diffy_api
diffy_cli
tests

entry_points.txt

diffy = diffy_cli.core:entry_point
aws_collection_ssm = diffy.plugins.diffy_aws.plugin:SSMCollectionPlugin
aws_persistence_s3 = diffy.plugins.diffy_aws.plugin:S3PersistencePlugin
aws_target_auto_scaling_group = diffy.plugins.diffy_aws.plugin:AutoScalingTargetPlugin
local_analysis_cluster = diffy.plugins.diffy_local.plugin:ClusterAnalysisPlugin
local_analysis_simple = diffy.plugins.diffy_local.plugin:SimpleAnalysisPlugin
local_payload_command = diffy.plugins.diffy_local.plugin:CommandPayloadPlugin
local_persistence_file = diffy.plugins.diffy_local.plugin:FilePersistencePlugin
osquery_payload = diffy.plugins.diffy_osquery.plugin:OSQueryPayloadPlugin