summary refs log tree commit diff
path: root/synapse/python_dependencies.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-02-04 17:37:34 +0000
committerErik Johnston <erik@matrix.org>2015-02-04 17:37:34 +0000
commit8046df6efa5509096c3b33c292f03f80c95b6481 (patch)
tree079a9ba974f0c3b5096438ca9cd12ac38c794390 /synapse/python_dependencies.py
parentMerge branch 'signature_failures' of github.com:matrix-org/synapse into feder... (diff)
parentMore s/instance_handle/profile_tag/ (diff)
downloadsynapse-8046df6efa5509096c3b33c292f03f80c95b6481.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into federation_client_retries
Diffstat (limited to 'synapse/python_dependencies.py')
-rw-r--r--synapse/python_dependencies.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 826a36f203..a89d618606 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -16,8 +16,30 @@ REQUIREMENTS = {
     "py-bcrypt": ["bcrypt"],
     "frozendict>=0.4": ["frozendict"],
     "pillow": ["PIL"],
+    "pydenticon": ["pydenticon"],
 }
 
+def github_link(project, version, egg):
+    return "https://github.com/%s/tarball/%s/#egg=%s" % (project, version, egg)
+
+DEPENDENCY_LINKS=[
+    github_link(
+        project="matrix-org/syutil",
+        version="v0.0.2",
+        egg="syutil-0.0.2",
+    ),
+    github_link(
+        project="matrix-org/matrix-angular-sdk",
+        version="v0.6.0",
+        egg="matrix_angular_sdk-0.6.0",
+    ),
+    github_link(
+        project="pyca/pynacl",
+        version="d4d3175589b892f6ea7c22f466e0e223853516fa",
+        egg="pynacl-0.3.0",
+    )
+]
+
 
 class MissingRequirementError(Exception):
     pass
@@ -78,3 +100,23 @@ def check_requirements():
                         "Unexpected version of %r in %r. %r != %r"
                         % (dependency, file_path, version, required_version)
                     )
+
+def list_requirements():
+    result = []
+    linked = []
+    for link in DEPENDENCY_LINKS:
+        egg = link.split("#egg=")[1]
+        linked.append(egg.split('-')[0])
+        result.append(link)
+    for requirement in REQUIREMENTS:
+        is_linked = False
+        for link in linked:
+            if requirement.replace('-','_').startswith(link):
+                is_linked = True
+        if not is_linked:
+            result.append(requirement)
+    return result
+
+if __name__ == "__main__":
+    import sys
+    sys.stdout.writelines(req + "\n" for req in list_requirements())