{ "info": { "author": "Michael Williamson", "author_email": "mike@zwobble.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "GraphJoiner: Implementing GraphQL with joins\n============================================\n\nIn the reference GraphQL implementation, resolve functions describe how to\nfulfil some part of the requested data for each instance of an object.\nIf implemented naively with a SQL backend, this results in the N+1 problem.\nFor instance, given the query:\n\n::\n\n {\n books(genre: \"comedy\") {\n title\n author {\n name\n }\n }\n }\n\nA naive GraphQL implementation would issue one SQL query to get the list of all\nbooks in the comedy genre, and then N queries to get the author of each book\n(where N is the number of books returned by the first query).\n\nThere are various solutions proposed to this problem: GraphJoiner suggests that\nusing joins is a natural fit for many use cases. For this specific case, we only\nneed to run two queries: one to find the list of all books in the comedy genre,\nand one to get the authors of books in the comedy genre.\n\nExample\n-------\n\nLet's say we have some models defined by SQLAlchemy. A book has an ID, a title,\na genre and an author ID. An author has an ID and a name.\n\n.. code-block:: python\n\n from sqlalchemy import Column, Integer, Unicode, ForeignKey\n from sqlalchemy.ext.declarative import declarative_base\n\n Base = declarative_base()\n\n class Author(Base):\n __tablename__ = \"author\"\n\n id = Column(Integer, primary_key=True)\n name = Column(Unicode, nullable=False)\n\n class Book(Base):\n __tablename__ = \"book\"\n\n id = Column(Integer, primary_key=True)\n title = Column(Unicode, nullable=False)\n genre = Column(Unicode, nullable=False)\n author_id = Column(Integer, ForeignKey(Author.id))\n\nWe then define object types for the root, books and authors:\n\n.. code-block:: python\n\n from graphql import GraphQLInt, GraphQLString, GraphQLArgument\n from graphjoiner import JoinType, RootJoinType, single, many, field\n from sqlalchemy.orm import Query\n\n def create_root():\n def fields():\n return {\n \"books\": many(\n book_join_type,\n books_query,\n args={\"genre\": GraphQLArgument(type=GraphQLString)}\n )\n }\n\n def books_query(args, _):\n query = Query([]).select_from(Book)\n\n if \"genre\" in args:\n query = query.filter(Book.genre == args[\"genre\"])\n\n return query\n\n return RootJoinType(name=\"Root\", fields=fields)\n\n root = create_root()\n\n def fetch_immediates_from_database(selections, query, context):\n query = query.with_entities(*(\n selection.field.column_name\n for selection in selections\n ))\n keys = tuple(selection.key for selection in selections)\n\n return [\n dict(zip(keys, row))\n for row in query.with_session(context.session).all()\n ]\n\n def create_book_join_type():\n def fields():\n return {\n \"id\": field(column_name=\"id\", type=GraphQLInt),\n \"title\": field(column_name=\"title\", type=GraphQLString),\n \"genre\": field(column_name=\"genre\", type=GraphQLString),\n \"authorId\": field(column_name=\"author_id\", type=GraphQLInt),\n \"author\": single(author_join_type, author_query, join={\"authorId\": \"id\"}),\n }\n\n def author_query(args, book_query):\n books = book_query.with_entities(Book.author_id).distinct().subquery()\n return Query([]) \\\n .select_from(Author) \\\n .join(books, books.c.author_id == Author.id)\n\n return JoinType(\n name=\"Book\",\n fields=fields,\n fetch_immediates=fetch_immediates_from_database,\n )\n\n book_join_type = create_book_join_type()\n\n def create_author_join_type():\n def fields():\n return {\n \"id\": field(column_name=\"id\", type=GraphQLInt),\n \"name\": field(column_name=\"name\", type=GraphQLString),\n }\n\n return JoinType(\n name=\"Author\",\n fields=fields,\n fetch_immediates=fetch_immediates_from_database,\n )\n author_join_type = create_author_join_type()\n\nWe can execute the query by calling ``execute``:\n\n.. code-block:: python\n\n from graphjoiner import execute\n\n query = \"\"\"\n {\n books(genre: \"comedy\") {\n title\n author {\n name\n }\n }\n }\n \"\"\"\n\n class Context(object):\n def __init__(self, session):\n self.session = session\n\n execute(root, query, context=Context(session))\n\n\nWhich produces:\n\n::\n\n {\n \"books\": [\n {\n \"title\": \"Leave It to Psmith\",\n \"author\": {\n \"name\": \"PG Wodehouse\"\n }\n },\n {\n \"title\": \"Right Ho, Jeeves\",\n \"author\": {\n \"name\": \"PG Wodehouse\"\n }\n },\n {\n \"title\": \"Catch-22\",\n \"author\": {\n \"name\": \"Joseph Heller\"\n }\n },\n ]\n }\n\nLet's break things down a little, starting with the definition of the root object:\n\n.. code-block:: python\n\n def create_root():\n def fields():\n return {\n \"books\": many(\n book_join_type,\n books_query,\n args={\"genre\": GraphQLArgument(type=GraphQLString)}\n )\n }\n\n def books_query(args, _):\n query = Query([]).select_from(Book)\n\n if \"genre\" in args:\n query = query.filter(Book.genre == args[\"genre\"])\n\n return query\n\n return RootJoinType(name=\"Root\", fields=fields)\n\n root = create_root()\n\nFor each object type, we need to define its fields.\nThe root has only one field, ``books``, a one-to-many relationship,\nwhich we define using ``many()``.\nThe first argument, ``book_join_type``,\nis the type we're defining a relationship to.\nThe second argument to describes how to create a query representing all of those\nrelated books: in this case all books, potentially filtered by a genre argument.\n\nThis means we need to define ``book_join_type``:\n\n.. code-block:: python\n\n def create_book_join_type():\n def fields():\n return {\n \"id\": field(column_name=\"id\", type=GraphQLInt),\n \"title\": field(column_name=\"title\", type=GraphQLString),\n \"genre\": field(column_name=\"genre\", type=GraphQLString),\n \"authorId\": field(column_name=\"author_id\", type=GraphQLInt),\n \"author\": single(author_join_type, author_query, join={\"authorId\": \"id\"}),\n }\n\n def author_query(args, book_query):\n books = book_query.with_entities(Book.author_id).distinct().subquery()\n return Query([]) \\\n .select_from(Author) \\\n .join(books, books.c.author_id == Author.id)\n\n return JoinType(\n name=\"Book\",\n fields=fields,\n fetch_immediates=fetch_immediates_from_database,\n )\n\n book_join_type = create_book_join_type()\n\nThe ``author`` field is defined as a one-to-one mapping from book to author.\nAs before, we define a function that generates a query for the requested authors.\nWe also provide a ``join`` argument to ``single()`` so that GraphJoiner knows\nhow to join together the results of the author query and the book query:\nin this case, the ``authorId`` field on books corresponds to the ``id`` field\non authors.\n(If we leave out the ``join`` argument, then GraphJoiner will perform a cross\njoin i.e. a cartesian product. Since there's always exactly one root instance,\nthis is fine for relationships defined on the root.)\n\nThe remaining fields define a mapping from the GraphQL field to the database\ncolumn. This mapping is handled by ``fetch_immediates_from_database``.\nThe value of ``selections`` in\n``fetch_immediates()`` is the selections of fields that aren't defined as relationships\n(using ``single`` or ``many``) that were either explicitly requested in the\noriginal GraphQL query, or are required as part of the join.\n\n.. code-block:: python\n\n def fetch_immediates_from_database(selections, query, context):\n query = query.with_entities(*(\n fields[selection.field_name].column_name\n for selection in selections\n ))\n keys = tuple(selection.key for selection in selections)\n\n return [\n dict(zip(keys, row))\n for row in query.with_session(context.session).all()\n ]\n\nFor completeness, we can tweak the definition of ``author_join_type`` so\nwe can request the books by an author:\n\n.. code-block:: python\n\n def create_author_join_type():\n def fields():\n return {\n \"id\": field(column_name=\"id\", type=GraphQLInt),\n \"name\": field(column_name=\"name\", type=GraphQLString),\n \"author\": many(book_join_type, book_query, join={\"id\": \"authorId\"}),\n }\n\n def book_query(args, author_query):\n authors = author_query.with_entities(Author.id).distinct().subquery()\n return Query([]) \\\n .select_from(Book) \\\n .join(authors, authors.c.id == Book.author_id)\n\n return JoinType(\n name=\"Author\",\n fields=fields,\n fetch_immediates=fetch_immediates_from_database,\n )\n\n author_join_type = create_author_join_type()\n\nInstallation\n------------\n\n::\n\n pip install graphjoiner", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/healx/python-graphjoiner", "keywords": "graphql graph join", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "graphjoiner", "package_url": "https://pypi.org/project/graphjoiner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/graphjoiner/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/healx/python-graphjoiner" }, "release_url": "https://pypi.org/project/graphjoiner/0.3.1/", "requires_dist": null, "requires_python": null, "summary": "Implementing GraphQL with joins", "version": "0.3.1" }, "last_serial": 3328445, "releases": { "0.1.0": [], "0.2.0": [ { "comment_text": "", "digests": { "md5": "024021f8c9c90ac5aa445d2472866fb3", "sha256": "9cba8cf61d7a5df738fe9c4e575313041f5fd5ea04d66a590bbecabfd9fa8ba1" }, "downloads": -1, "filename": "graphjoiner-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "024021f8c9c90ac5aa445d2472866fb3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10862, "upload_time": "2016-09-28T08:20:32", "url": "https://files.pythonhosted.org/packages/3a/f5/084251e9777a9577866e4aed705b93a1fad6f1ff39b72efa8f179d2f89e4/graphjoiner-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a97a7972ab79a7f679257e39e2954ce", "sha256": "34305a0b8916406f1cae0e6ab69db8cba4f4b8a5690b3d860f20617524118358" }, "downloads": -1, "filename": "graphjoiner-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1a97a7972ab79a7f679257e39e2954ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7391, "upload_time": "2016-09-28T08:20:29", "url": "https://files.pythonhosted.org/packages/2e/6c/c2490090b8a768b26ac10a630327604a33caa5b9225b1d9c6098497b5ddf/graphjoiner-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d6f8cc53d31f696f148c9f517753fd8a", "sha256": "fb791f88edfcd5d962f71397f5c78e700d09fbfdae945a05caa53f383f2cb77b" }, "downloads": -1, "filename": "graphjoiner-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6f8cc53d31f696f148c9f517753fd8a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10875, "upload_time": "2016-09-28T10:08:36", "url": "https://files.pythonhosted.org/packages/6b/28/da71095db25217b83f29a1a6b8965265de7296566f6b5e1753ba333c7ca8/graphjoiner-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "240d486053c7b1a5860eb32438ee9533", "sha256": "743e302334e90a3cca6b9afc6376fa1ef077d0548933dc683398423f7f4a1ae7" }, "downloads": -1, "filename": "graphjoiner-0.2.1.tar.gz", "has_sig": false, "md5_digest": "240d486053c7b1a5860eb32438ee9533", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7407, "upload_time": "2016-09-28T10:08:33", "url": "https://files.pythonhosted.org/packages/b7/b9/910c19fe994d771e5c5f46a78027e7027241158bddb860b140a223a35c59/graphjoiner-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "0045e5cfe7b2340c1c0da0c50af1839e", "sha256": "d24369726173740f382b944d9270b5c5e3cf41f435e8441d97fc74afe8cd8707" }, "downloads": -1, "filename": "graphjoiner-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0045e5cfe7b2340c1c0da0c50af1839e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11083, "upload_time": "2016-09-28T10:53:38", "url": "https://files.pythonhosted.org/packages/e7/eb/e5735f1d658d3ce3b07f8c59581a110152c7ab40a569f720dc5bd32e3646/graphjoiner-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a1892a019ef95e1f780697e6f62bb24", "sha256": "9106df4298c6be243ee0962d46c037cbf06adb2d172f8f82764aa2175b95b437" }, "downloads": -1, "filename": "graphjoiner-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6a1892a019ef95e1f780697e6f62bb24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7594, "upload_time": "2016-09-28T10:53:33", "url": "https://files.pythonhosted.org/packages/40/f1/8a0447c9153d5d68fd1ac73a80dd600ed7bd989d019aa037d3c58c42841c/graphjoiner-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "6fe87d0d0880c945853445abac27da01", "sha256": "1dc3a4c781c819f3331eddb5888c95c571540f37aa9cde9cff016330345cc2b6" }, "downloads": -1, "filename": "graphjoiner-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6fe87d0d0880c945853445abac27da01", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11100, "upload_time": "2016-09-28T11:03:16", "url": "https://files.pythonhosted.org/packages/a0/aa/7e1910095de99936278aeefc00f85a5ec425684c5db0d24f32ec4d1c244f/graphjoiner-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "572b5e8aaf9b8df2079005b252bc6422", "sha256": "aa37cf44bd538c10c05976a40dbf39599e24098990f79d8bd14444f822e790cd" }, "downloads": -1, "filename": "graphjoiner-0.2.3.tar.gz", "has_sig": false, "md5_digest": "572b5e8aaf9b8df2079005b252bc6422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7612, "upload_time": "2016-09-28T11:03:13", "url": "https://files.pythonhosted.org/packages/93/ed/73f9c733863d0bb99353d7079b23f973c26263a287c0aadbfd3721ab5860/graphjoiner-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "84f5f42b94a434b6f2c4443a65b1e187", "sha256": "ca55305d044ed958658355dd6219f44ea30bcb1d54303960fad147c26c5bc3db" }, "downloads": -1, "filename": "graphjoiner-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84f5f42b94a434b6f2c4443a65b1e187", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10987, "upload_time": "2016-09-29T09:46:45", "url": "https://files.pythonhosted.org/packages/df/ec/5e4228f1d105d7d0a8e303369251b8d5b498a82288ced72c23d90a2c73b8/graphjoiner-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8eaf828db7abe23b3664befdfdcf26c2", "sha256": "0c79c6292e2fa7a371d69442df4fe023adca391d401901896e2afe81f9c7ff0b" }, "downloads": -1, "filename": "graphjoiner-0.2.4.tar.gz", "has_sig": false, "md5_digest": "8eaf828db7abe23b3664befdfdcf26c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7569, "upload_time": "2016-09-29T09:46:42", "url": "https://files.pythonhosted.org/packages/ce/41/fce0a212e6cb7908649e0328b000382733adae8fd98194c46326905480fe/graphjoiner-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "80ff798c452543c0a3654f3a79b46b5d", "sha256": "c2d33c882203c92c216a8cca76999fecf8d76047f1e8c90fcd395715bcf34061" }, "downloads": -1, "filename": "graphjoiner-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "80ff798c452543c0a3654f3a79b46b5d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11041, "upload_time": "2016-10-04T11:46:50", "url": "https://files.pythonhosted.org/packages/e9/ee/15b379a0d8710ac9e12ede299e765d28716695f6f746c30e36beef5c11e7/graphjoiner-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03249d9d84560569567ef1eff16fcf2d", "sha256": "f4a119ba2b6ca4c5d93d7cc3a7815be737aa6c8078280b305d79c386820c5323" }, "downloads": -1, "filename": "graphjoiner-0.3.0.tar.gz", "has_sig": false, "md5_digest": "03249d9d84560569567ef1eff16fcf2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7633, "upload_time": "2016-10-04T11:46:47", "url": "https://files.pythonhosted.org/packages/4b/07/9e4d101301e8634bb6c524804b7158bd7db3196a471a9257656f60394264/graphjoiner-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "9dcdb0dc204bd8e31795de591208cad0", "sha256": "f2e81612ebef5da35d2f32600197de884cbf73c9408ddd70cfbbd73b168d7c0c" }, "downloads": -1, "filename": "graphjoiner-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9dcdb0dc204bd8e31795de591208cad0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11109, "upload_time": "2016-11-09T20:51:41", "url": "https://files.pythonhosted.org/packages/67/ee/8cf0718e04912feb3870b6eaaa401da848b641720d132c04e72322454410/graphjoiner-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "204cff92b35f3e0302479a083c9b778d", "sha256": "3415987dd60d04fbd330c303b94475200b6c120dbb8592d8c7d3495f7b99a31a" }, "downloads": -1, "filename": "graphjoiner-0.3.1.tar.gz", "has_sig": false, "md5_digest": "204cff92b35f3e0302479a083c9b778d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9218, "upload_time": "2016-11-09T20:51:38", "url": "https://files.pythonhosted.org/packages/13/40/10cc8ea1da80000f7770dd0294e8bc918546cd2e05a81abd9f6dbf428e79/graphjoiner-0.3.1.tar.gz" } ], "0.4.0b1": [ { "comment_text": "", "digests": { "md5": "eada0d9c7f7076860c2e84418742860e", "sha256": "50d20eafb7261bb106190008bf7f766246a8b6e66126b082aa95e8bab7a7d233" }, "downloads": -1, "filename": "graphjoiner-0.4.0b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eada0d9c7f7076860c2e84418742860e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13406, "upload_time": "2017-01-10T23:24:56", "url": "https://files.pythonhosted.org/packages/e1/16/6c5f36f378be3a9c5d8689c13cb8e4a0632d16e109987e289913c7113f1f/graphjoiner-0.4.0b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "128c6fd2343ecd52280bafbf8cd1b000", "sha256": "f57f3f4273df8d54ed488791ff010789b6493d3953f8f14cdf596762eb19f1e4" }, "downloads": -1, "filename": "graphjoiner-0.4.0b1.tar.gz", "has_sig": false, "md5_digest": "128c6fd2343ecd52280bafbf8cd1b000", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12373, "upload_time": "2017-01-10T23:24:54", "url": "https://files.pythonhosted.org/packages/e5/2a/7d4c61faa71a2084a4dd86cca60051b657acd4a4468b82814f344ca7476b/graphjoiner-0.4.0b1.tar.gz" } ], "0.4.0b10": [ { "comment_text": "", "digests": { "md5": "a4b99c48f54bf9c0abbbb0209120357c", "sha256": "220932fb0ebb7f93cf4a65b992245a7a4786f8fdccad5bc1610ea2de815c172e" }, "downloads": -1, "filename": "graphjoiner-0.4.0b10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a4b99c48f54bf9c0abbbb0209120357c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16782, "upload_time": "2017-01-27T15:14:02", "url": "https://files.pythonhosted.org/packages/86/7d/b9fc4f874704adc956fbe2d844db203b21a9242ee8a763ab1e96410034f9/graphjoiner-0.4.0b10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fcf8b6941b7a0e4626b5a58458891b6", "sha256": "2c0262018614bbc1e2a5d3e6e5cffdb91562671cb0dce0a7e2c49eeb36f4ff71" }, "downloads": -1, "filename": "graphjoiner-0.4.0b10.tar.gz", "has_sig": false, "md5_digest": "8fcf8b6941b7a0e4626b5a58458891b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15228, "upload_time": "2017-01-27T15:14:05", "url": "https://files.pythonhosted.org/packages/d5/89/f56350e7a33b65bf4d56baf1c2fa619192e97cf34867fb9a3123a570e0da/graphjoiner-0.4.0b10.tar.gz" } ], "0.4.0b11": [ { "comment_text": "", "digests": { "md5": "fc3342e5f54873e37bdbd1b01f9582d1", "sha256": "49fbf428afea37643d3d191d6abfc086aaa4bcdac700490a7b5e02fb357804cc" }, "downloads": -1, "filename": "graphjoiner-0.4.0b11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc3342e5f54873e37bdbd1b01f9582d1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17054, "upload_time": "2017-02-08T13:55:41", "url": "https://files.pythonhosted.org/packages/fc/bb/dea231033aeb6a7819484e1756f018880a9b9aee2b035957d06ca24c3477/graphjoiner-0.4.0b11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2e719ae0487e0df6d6d81b712a61425", "sha256": "6291ef89a2dddebcd30b0c2bd3b692a17f3b655896a5e2b2b7ccd8c550f6e55c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b11.tar.gz", "has_sig": false, "md5_digest": "a2e719ae0487e0df6d6d81b712a61425", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15504, "upload_time": "2017-02-08T13:55:43", "url": "https://files.pythonhosted.org/packages/cc/83/ab85b5ea30c39057a7f09693eed91e92f6213ad50ca9ad065275f714e5e1/graphjoiner-0.4.0b11.tar.gz" } ], "0.4.0b12": [ { "comment_text": "", "digests": { "md5": "1b3219d565cd1bc1b532f1a8973b6e40", "sha256": "9ed3f34ed29c0dc43e84f2a5b3c27d3ac5d42e0e62fe762eedce1bcd8e9153a8" }, "downloads": -1, "filename": "graphjoiner-0.4.0b12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b3219d565cd1bc1b532f1a8973b6e40", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16984, "upload_time": "2017-03-02T09:55:12", "url": "https://files.pythonhosted.org/packages/fc/d1/44bf632f801f7c33eedbfeabaa6e2da05ea43d68338b09ce87e68ca9f3d9/graphjoiner-0.4.0b12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b8322402a4665cec591d1c3d7fc6c6b", "sha256": "50e7449a854041e9f0a685f1d607d3ceeb5d5580f779b51d9d1f52d9cbb1160c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b12.tar.gz", "has_sig": false, "md5_digest": "0b8322402a4665cec591d1c3d7fc6c6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15382, "upload_time": "2017-03-02T09:55:10", "url": "https://files.pythonhosted.org/packages/70/14/4ec4f01b5b1848108cb2b0f8e286b20e21edeed12f946b9572948aefff43/graphjoiner-0.4.0b12.tar.gz" } ], "0.4.0b13": [ { "comment_text": "", "digests": { "md5": "8a806e0a754e26ff0e415e595cdd0707", "sha256": "a2da091138cf232f3847d89e027756f03a1df9a080097379bee82a9444270d39" }, "downloads": -1, "filename": "graphjoiner-0.4.0b13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a806e0a754e26ff0e415e595cdd0707", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17330, "upload_time": "2017-03-08T12:11:09", "url": "https://files.pythonhosted.org/packages/71/b1/61495db5ff632b8ad33946f0f69aa487b92ebb94abc31507bce5a11ba61e/graphjoiner-0.4.0b13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d53addd47a95cc5a286895ed7e25406", "sha256": "52eeee27bd0374429c79e160f2f57fec1e6c15ecaba9a4336212ad136dad6d54" }, "downloads": -1, "filename": "graphjoiner-0.4.0b13.tar.gz", "has_sig": false, "md5_digest": "9d53addd47a95cc5a286895ed7e25406", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15686, "upload_time": "2017-03-08T12:11:11", "url": "https://files.pythonhosted.org/packages/4e/30/62f74a736c94e163884468ac9f06fbad58c9cd233679b78f3e852c9c4a26/graphjoiner-0.4.0b13.tar.gz" } ], "0.4.0b14": [ { "comment_text": "", "digests": { "md5": "7adf515e938658e55ac7e5073405e5af", "sha256": "f341120e80c724e39f58c89a77375eabc217fe99d9aa86d44f145eadf2e9344b" }, "downloads": -1, "filename": "graphjoiner-0.4.0b14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7adf515e938658e55ac7e5073405e5af", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17422, "upload_time": "2017-03-09T15:44:19", "url": "https://files.pythonhosted.org/packages/fb/b2/972854cbbf3938eb6e0d1caac6e8b96536e889d319e526eb569ac7c9c102/graphjoiner-0.4.0b14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168f3904e0fc0bc6ec4b2404a4801a5e", "sha256": "c23d955138f8a2503bde2b8216ea025f5a00705d6254dae1592bbfda4e307fca" }, "downloads": -1, "filename": "graphjoiner-0.4.0b14.tar.gz", "has_sig": false, "md5_digest": "168f3904e0fc0bc6ec4b2404a4801a5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15800, "upload_time": "2017-03-09T15:44:17", "url": "https://files.pythonhosted.org/packages/08/d5/b394071e39b30861a1ec1026ef5e660cb6a3fbdbbb9f38da80c6d8730e10/graphjoiner-0.4.0b14.tar.gz" } ], "0.4.0b15": [ { "comment_text": "", "digests": { "md5": "f058d1fa20972cafbeeaaac2b4943530", "sha256": "eaa6d19ec528e519721aa5d8f6cac52d6d05a8390494a2050fa56118f39b0574" }, "downloads": -1, "filename": "graphjoiner-0.4.0b15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f058d1fa20972cafbeeaaac2b4943530", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17643, "upload_time": "2017-03-10T17:54:20", "url": "https://files.pythonhosted.org/packages/01/3d/5d266a3d61cedaee9ebcac0161142544476fa84e2586e127a4ee0806a97a/graphjoiner-0.4.0b15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4b77be932517ee2d7a11a8bb22eb229", "sha256": "bec7f995627bbbba9cc4adda663fb0287d66d68bfe45fa14fa43485d542e87fd" }, "downloads": -1, "filename": "graphjoiner-0.4.0b15.tar.gz", "has_sig": false, "md5_digest": "b4b77be932517ee2d7a11a8bb22eb229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16014, "upload_time": "2017-03-10T17:54:17", "url": "https://files.pythonhosted.org/packages/03/12/317da72ac9dafdbb14539f3181bf78d0c7b922e3aea0da6fc419c3cedec9/graphjoiner-0.4.0b15.tar.gz" } ], "0.4.0b16": [ { "comment_text": "", "digests": { "md5": "f7c79a49d337327610c6868f1d151e74", "sha256": "6bc978fef5b95d56660537d93c0a937fea29fe005a197cb25267ca8530a30fe5" }, "downloads": -1, "filename": "graphjoiner-0.4.0b16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7c79a49d337327610c6868f1d151e74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17681, "upload_time": "2017-04-19T10:37:35", "url": "https://files.pythonhosted.org/packages/06/f9/33061f1b20cdf1c12661e2d94766e4af7d6ac67fe66b7d02b0abcc5068a0/graphjoiner-0.4.0b16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e5fa690c2fae55991f352df16cbff5b", "sha256": "c9270a4ed53468e4671bc706fae8d9b3941b2de09a7ac7ccb0a561a27d2c49b3" }, "downloads": -1, "filename": "graphjoiner-0.4.0b16.tar.gz", "has_sig": false, "md5_digest": "3e5fa690c2fae55991f352df16cbff5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16109, "upload_time": "2017-04-19T10:37:36", "url": "https://files.pythonhosted.org/packages/ab/cc/3c8257fb6cdd7513678cc989ccde0fee248cf65062c17f374259a5cbd78b/graphjoiner-0.4.0b16.tar.gz" } ], "0.4.0b17": [ { "comment_text": "", "digests": { "md5": "41381270ef9f22afdbe8b66ede3a20ed", "sha256": "a59625b5f99053361ad38dc33e4b183f5e311d4fcba237a284c6f247658ace0c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41381270ef9f22afdbe8b66ede3a20ed", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17696, "upload_time": "2017-04-24T14:04:00", "url": "https://files.pythonhosted.org/packages/3c/94/78d696cd15b9469f4d5bf5ff5dd7dc7dafdfead03cf97fa9734affe2508e/graphjoiner-0.4.0b17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a1cda0295d9490b061ba076518ffc73", "sha256": "03a14cd61e432d509bbd3942dc0ce71dac3a5d66e5a0270a0640f79e4326798f" }, "downloads": -1, "filename": "graphjoiner-0.4.0b17.tar.gz", "has_sig": false, "md5_digest": "5a1cda0295d9490b061ba076518ffc73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16125, "upload_time": "2017-04-24T14:03:58", "url": "https://files.pythonhosted.org/packages/31/e8/66f4bd55a583be60d4eaac4b44d97a32ab734fa6dae04f68e1159aab54df/graphjoiner-0.4.0b17.tar.gz" } ], "0.4.0b18": [ { "comment_text": "", "digests": { "md5": "0d1e0c632cf02447e32451dc93bbf393", "sha256": "9c2192679cc2d277e5a8517b73bd816a93e0ec43178721d4fbd943e8f179976f" }, "downloads": -1, "filename": "graphjoiner-0.4.0b18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d1e0c632cf02447e32451dc93bbf393", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18086, "upload_time": "2017-04-25T11:50:00", "url": "https://files.pythonhosted.org/packages/fb/cf/9eb5caa799af15e2216aa11ed507e07b9b584265e49e69ccf8e4f3999cd4/graphjoiner-0.4.0b18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdfe48987616f77e68a3c7ba1add41c2", "sha256": "a620f724f6f6044abbd3f9465f7b39d6e9f477b396dee1bac26c376031a9833d" }, "downloads": -1, "filename": "graphjoiner-0.4.0b18.tar.gz", "has_sig": false, "md5_digest": "bdfe48987616f77e68a3c7ba1add41c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16474, "upload_time": "2017-04-25T11:49:58", "url": "https://files.pythonhosted.org/packages/bd/30/460ade39112b64a24e84bdede8001c007b152342f981212f5323a0427022/graphjoiner-0.4.0b18.tar.gz" } ], "0.4.0b19": [ { "comment_text": "", "digests": { "md5": "6b140eb1f1359f1d947fc945f1faf110", "sha256": "d6756e82b16335b894e52f4c9f60814430e8a2588e2b9225275a817e65df4f30" }, "downloads": -1, "filename": "graphjoiner-0.4.0b19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b140eb1f1359f1d947fc945f1faf110", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18094, "upload_time": "2017-04-25T14:05:30", "url": "https://files.pythonhosted.org/packages/35/85/968b065ef89de835515a09d196aa208cd0a4c2b72f8727703ca0da7e090c/graphjoiner-0.4.0b19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a7573c3e41c0e99bdce3ce9dfa01938", "sha256": "e14d3d55875e73fab49f9be512a386fb7ff4431bdca22ae99bd73acea2b0343e" }, "downloads": -1, "filename": "graphjoiner-0.4.0b19.tar.gz", "has_sig": false, "md5_digest": "5a7573c3e41c0e99bdce3ce9dfa01938", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16481, "upload_time": "2017-04-25T14:05:28", "url": "https://files.pythonhosted.org/packages/ad/d2/6ebba888d987b6e25e8fc10082f877d18ac177f4a7bafc12883e795b7427/graphjoiner-0.4.0b19.tar.gz" } ], "0.4.0b2": [ { "comment_text": "", "digests": { "md5": "3c677f48f0a745ceee68516b0f4e7863", "sha256": "68a1d9d43e85cad68ab0384a0a5994f2ffefc82593a32d921173f5d70a1231d5" }, "downloads": -1, "filename": "graphjoiner-0.4.0b2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3c677f48f0a745ceee68516b0f4e7863", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16370, "upload_time": "2017-01-11T11:00:17", "url": "https://files.pythonhosted.org/packages/a8/72/f6a9e71138b5844ab190aa672dd6716d3ba3ac6e60ee8ad54b312a6f3ffe/graphjoiner-0.4.0b2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fdb0aac9b8118421994cd8ce2b4fe9b", "sha256": "606450312622daeb5b6c7f435fb6e732d1cec7ab773836795d830eae4d305891" }, "downloads": -1, "filename": "graphjoiner-0.4.0b2.tar.gz", "has_sig": false, "md5_digest": "9fdb0aac9b8118421994cd8ce2b4fe9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14827, "upload_time": "2017-01-11T11:00:19", "url": "https://files.pythonhosted.org/packages/e6/ac/6c10b36b788f9baca3d18186659304b5d5a36b8286d8b99bc6235f715f78/graphjoiner-0.4.0b2.tar.gz" } ], "0.4.0b20": [ { "comment_text": "", "digests": { "md5": "6a73057dad3c966056aaf7683f7ceced", "sha256": "e8b2d8bf97bd554ab487c6ea2f244c66c812aba17ed772d210967bb507ba8edf" }, "downloads": -1, "filename": "graphjoiner-0.4.0b20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a73057dad3c966056aaf7683f7ceced", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18109, "upload_time": "2017-04-27T14:53:05", "url": "https://files.pythonhosted.org/packages/35/7e/bcf34b7401a58f2c1a45e73f220dbcdfdb1c0e5db33ff086d4d91a5c7a36/graphjoiner-0.4.0b20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4be141570bb12794848365e40c3d6831", "sha256": "88e229559d83fce353be6186264cea9c62b59b0f545935b8ae45e1279c253aa6" }, "downloads": -1, "filename": "graphjoiner-0.4.0b20.tar.gz", "has_sig": false, "md5_digest": "4be141570bb12794848365e40c3d6831", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16498, "upload_time": "2017-04-27T14:53:03", "url": "https://files.pythonhosted.org/packages/23/a9/3f7cd403ab551bc5e021b0a5b0c39cb3a6a640dd0fc6fe3d60e2dd5ef1d4/graphjoiner-0.4.0b20.tar.gz" } ], "0.4.0b21": [ { "comment_text": "", "digests": { "md5": "232f5d68ea9f6ae56410cff04fb308c5", "sha256": "5d5b5671f790cde159998ffd4ef2f15686cc1e89b336b6ac9aa15d0f4d531855" }, "downloads": -1, "filename": "graphjoiner-0.4.0b21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "232f5d68ea9f6ae56410cff04fb308c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18219, "upload_time": "2017-04-28T10:40:32", "url": "https://files.pythonhosted.org/packages/1a/51/967ab8f5fa0704a64d6bc14e82a0ce1577fc26364be1d777c94eb99470b3/graphjoiner-0.4.0b21-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8e054884cc130c26de2174a8305bff3", "sha256": "58352554e40f5e4c9bf456b936ae213eebf4c205f4677d2ea035ee8e41a6630c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b21.tar.gz", "has_sig": false, "md5_digest": "e8e054884cc130c26de2174a8305bff3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16590, "upload_time": "2017-04-28T10:40:34", "url": "https://files.pythonhosted.org/packages/fd/1b/71a815e6f345f5894ffea46302003d671059dd994d93f794206d83725b34/graphjoiner-0.4.0b21.tar.gz" } ], "0.4.0b22": [ { "comment_text": "", "digests": { "md5": "50e172cdf360d56674232440d59d9952", "sha256": "5c80ce122caee288b920475068ecc940962217ef52f4a08231687ad27dc15509" }, "downloads": -1, "filename": "graphjoiner-0.4.0b22-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50e172cdf360d56674232440d59d9952", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18226, "upload_time": "2017-05-02T14:23:02", "url": "https://files.pythonhosted.org/packages/33/dd/4edd3d6dbec32f24fe7d295d178fcf4d2e0bc6d0ae6ed98363e8e37e24dd/graphjoiner-0.4.0b22-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e251bf3fbe6107488540c6f3e0ca04d", "sha256": "2d9cf207f178041bbdec64183492ed73cfdc88d13e9ac51d60c749b64ba2ad66" }, "downloads": -1, "filename": "graphjoiner-0.4.0b22.tar.gz", "has_sig": false, "md5_digest": "3e251bf3fbe6107488540c6f3e0ca04d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16607, "upload_time": "2017-05-02T14:23:00", "url": "https://files.pythonhosted.org/packages/ad/4a/9288851e4d61af02f85f0750e12440166afb2c21f58c2b3a9ff80b7de65a/graphjoiner-0.4.0b22.tar.gz" } ], "0.4.0b23": [ { "comment_text": "", "digests": { "md5": "76032a73108f63dcaaf490a6ef0b11ff", "sha256": "6b01507c4ec00ecb6d5b376641d14fd837726f016df3dee1fcbcdf7feaa8ebae" }, "downloads": -1, "filename": "graphjoiner-0.4.0b23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76032a73108f63dcaaf490a6ef0b11ff", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18260, "upload_time": "2017-06-01T15:00:17", "url": "https://files.pythonhosted.org/packages/3e/4b/f120706251ddd570d6bffda77c73d3cec5d83a33e61e2dd1b716ac0cc5e1/graphjoiner-0.4.0b23-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eeef8f37d52f798a1d4da17f5409a0c", "sha256": "4773e2d01e25b61da80955c79f14f8af38c7b74ae968c8b6cac778439200bd9f" }, "downloads": -1, "filename": "graphjoiner-0.4.0b23.tar.gz", "has_sig": false, "md5_digest": "3eeef8f37d52f798a1d4da17f5409a0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16635, "upload_time": "2017-06-01T15:00:14", "url": "https://files.pythonhosted.org/packages/92/07/c339cc5f09a813bae0f92b23a4fbd5f4665335752bd0243f5d3661837c97/graphjoiner-0.4.0b23.tar.gz" } ], "0.4.0b24": [ { "comment_text": "", "digests": { "md5": "f73de78c7cc368d73d191a90ba1b21b4", "sha256": "338e4ec71d88a27eb11bafd7fd8847586b2704ccee5d9178c384f6142ecd7246" }, "downloads": -1, "filename": "graphjoiner-0.4.0b24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f73de78c7cc368d73d191a90ba1b21b4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 22369, "upload_time": "2017-07-03T15:17:50", "url": "https://files.pythonhosted.org/packages/ed/26/a13402fd804bafb9a37bb717f95141b82ebb3acd875ca6582a9826373ee7/graphjoiner-0.4.0b24-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2a009230ab762614e47f75a299d2ef6", "sha256": "fc0aa6e542701cf29277411792acf1be0dc321a3a87b022d23a0e4740b2665b6" }, "downloads": -1, "filename": "graphjoiner-0.4.0b24.tar.gz", "has_sig": false, "md5_digest": "c2a009230ab762614e47f75a299d2ef6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22517, "upload_time": "2017-07-03T15:17:48", "url": "https://files.pythonhosted.org/packages/ff/6b/2cd8d4a84ac4cef04e8bae26a1ca9a380623271a1bd6357b76797bc0fcc4/graphjoiner-0.4.0b24.tar.gz" } ], "0.4.0b25": [ { "comment_text": "", "digests": { "md5": "aa364c4a9868cb8f172cccec85d2e3e4", "sha256": "74f8897e7e823cf028696b0ae22a16b47cc5defc73638682c563b70d57faad3e" }, "downloads": -1, "filename": "graphjoiner-0.4.0b25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa364c4a9868cb8f172cccec85d2e3e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22394, "upload_time": "2017-08-03T10:27:45", "url": "https://files.pythonhosted.org/packages/0b/65/087eb3139cfe09cf4d97027da128fe007fb1277ab120ff008b99da0547e9/graphjoiner-0.4.0b25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "199d68cac8186d5703ac8e0d3baf3e24", "sha256": "ff9db475f15d8a7a262f64c6391a3c277d1c1263ba6224d1e8418adf81da92b8" }, "downloads": -1, "filename": "graphjoiner-0.4.0b25.tar.gz", "has_sig": false, "md5_digest": "199d68cac8186d5703ac8e0d3baf3e24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22530, "upload_time": "2017-08-03T10:27:47", "url": "https://files.pythonhosted.org/packages/cf/e8/75e35c611a7f6a8aa7ad7f784411aabacc3fad19212fe8d480ec97226b63/graphjoiner-0.4.0b25.tar.gz" } ], "0.4.0b26": [ { "comment_text": "", "digests": { "md5": "3de3f5bf5b882eb4ed1647b41bd2100d", "sha256": "7e618100ecc944caa1c26ffab2d8a09bef9ffcaea2547a1075955af7828dadb6" }, "downloads": -1, "filename": "graphjoiner-0.4.0b26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3de3f5bf5b882eb4ed1647b41bd2100d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23104, "upload_time": "2017-08-31T10:03:44", "url": "https://files.pythonhosted.org/packages/12/30/5683dadd7e210764276636469053bb5b160f52592cd0cb3c18f34c7f1d93/graphjoiner-0.4.0b26-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7777142215e1a5df7fba8d473b69c207", "sha256": "a31c193fc57811a09fc10bf2383237e9a04fbfc567206334124bc8624df57076" }, "downloads": -1, "filename": "graphjoiner-0.4.0b26.tar.gz", "has_sig": false, "md5_digest": "7777142215e1a5df7fba8d473b69c207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23037, "upload_time": "2017-08-31T10:03:47", "url": "https://files.pythonhosted.org/packages/42/35/e929c42343a30c552ea7bb595ca214b9cb56a01b6430e4d4215df1955b5a/graphjoiner-0.4.0b26.tar.gz" } ], "0.4.0b27": [ { "comment_text": "", "digests": { "md5": "026ffce30798464591a999bb6d5ff3b0", "sha256": "086a188aa2c8af8094591847b04a9daec2c253f9581be405d851563f3a0e3535" }, "downloads": -1, "filename": "graphjoiner-0.4.0b27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "026ffce30798464591a999bb6d5ff3b0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23348, "upload_time": "2017-08-31T11:23:32", "url": "https://files.pythonhosted.org/packages/89/52/3f263ccd71c04bf084ec4f75eeb5a5988c22c22a4361f1cbb569d116fba0/graphjoiner-0.4.0b27-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e8a916d860fa1b00fca53ccfce46e5d", "sha256": "a68a840630f58df160ca46d98a6da0651e09250d74acda4ffe14169f25811e79" }, "downloads": -1, "filename": "graphjoiner-0.4.0b27.tar.gz", "has_sig": false, "md5_digest": "5e8a916d860fa1b00fca53ccfce46e5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23237, "upload_time": "2017-08-31T11:23:29", "url": "https://files.pythonhosted.org/packages/25/b1/1df7d449179cba85b96913842cade7ca21ea4463057ce7a69c01fb2519ff/graphjoiner-0.4.0b27.tar.gz" } ], "0.4.0b28": [ { "comment_text": "", "digests": { "md5": "96cf79726e8373145aea41949341d780", "sha256": "727b1e0acdb9da76d14a948d741a91b27d36ad78059b1b5fe380fbbed7b8a2c5" }, "downloads": -1, "filename": "graphjoiner-0.4.0b28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96cf79726e8373145aea41949341d780", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23383, "upload_time": "2017-08-31T14:42:54", "url": "https://files.pythonhosted.org/packages/29/5b/5cac36acf060044b9a02c968db5e552412982d5e6bc2c862f7ca5526c288/graphjoiner-0.4.0b28-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07aafd6473592d695b2a965597815961", "sha256": "99fe6992c7efd23b660ad15254d2f4946aff9d579a6da9acdaee2a54ec246561" }, "downloads": -1, "filename": "graphjoiner-0.4.0b28.tar.gz", "has_sig": false, "md5_digest": "07aafd6473592d695b2a965597815961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23265, "upload_time": "2017-08-31T14:42:51", "url": "https://files.pythonhosted.org/packages/22/dc/7b48c039e7eadaafe10b44ccb62210845701c34494ac37ab59815cf1dd35/graphjoiner-0.4.0b28.tar.gz" } ], "0.4.0b29": [ { "comment_text": "", "digests": { "md5": "4d18942a58ac29e31b582b33ef310045", "sha256": "1d7e84ed9540769468dfc2cf513e8e8234089049c148078168da3b9aa6cddb04" }, "downloads": -1, "filename": "graphjoiner-0.4.0b29-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4d18942a58ac29e31b582b33ef310045", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23398, "upload_time": "2017-08-31T14:49:09", "url": "https://files.pythonhosted.org/packages/6d/0c/68424c35a1bd506e3529364a40f1b62996773f61a88a49e8429f721c66b7/graphjoiner-0.4.0b29-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c8148d2f7e80bb788c71f09375a1088", "sha256": "ca5bc303b09e48cdfc30a7ff6a3357471ad83809173df58ea328f146d2483539" }, "downloads": -1, "filename": "graphjoiner-0.4.0b29.tar.gz", "has_sig": false, "md5_digest": "0c8148d2f7e80bb788c71f09375a1088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23277, "upload_time": "2017-08-31T14:49:06", "url": "https://files.pythonhosted.org/packages/23/b1/6aba7b7d4f656ebb1f78a10a37477b5d9e6a3f8295b19538fed8918b0f9a/graphjoiner-0.4.0b29.tar.gz" } ], "0.4.0b3": [ { "comment_text": "", "digests": { "md5": "1e2ceb3239f1d8a1fcce4acb72652673", "sha256": "0a004ecb7a05ac62ebf3ccdae6e5379a9a32d61ebb6db1ba86461bc155a30377" }, "downloads": -1, "filename": "graphjoiner-0.4.0b3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e2ceb3239f1d8a1fcce4acb72652673", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16396, "upload_time": "2017-01-11T16:32:32", "url": "https://files.pythonhosted.org/packages/4d/ae/bad11c2e8e72dc9f7b250b96efb5401cce5d1a4eeafb97f5bfffddf1feea/graphjoiner-0.4.0b3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc94c554436eced46b53927d60f575b3", "sha256": "b5817f530f4b7f301ac87c7efc3b63fa9bc86a0c52d944cb938c5554639b8108" }, "downloads": -1, "filename": "graphjoiner-0.4.0b3.tar.gz", "has_sig": false, "md5_digest": "fc94c554436eced46b53927d60f575b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14857, "upload_time": "2017-01-11T16:32:34", "url": "https://files.pythonhosted.org/packages/00/60/a71c99aa623034c47305e54f4a463bd82f601a775cd2ede9e9288a90e7c9/graphjoiner-0.4.0b3.tar.gz" } ], "0.4.0b30": [ { "comment_text": "", "digests": { "md5": "fa45e800a324083c08cda5d37b92cc23", "sha256": "a49edf4414a382e2bb494a4e477fe29f2759ea6332af80c00fd5f88b302dc060" }, "downloads": -1, "filename": "graphjoiner-0.4.0b30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa45e800a324083c08cda5d37b92cc23", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23434, "upload_time": "2017-09-01T08:55:46", "url": "https://files.pythonhosted.org/packages/42/54/6e5227ef86485d7458fa49a6d5920338eff1dfcd7afc2595be206d157ce1/graphjoiner-0.4.0b30-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9100203ca60eb8a954153b59d1bd26b", "sha256": "6f7ac9dd050fd3aa9a3579159ceb6081fa21aa6b6d0a8254598ac27641baad63" }, "downloads": -1, "filename": "graphjoiner-0.4.0b30.tar.gz", "has_sig": false, "md5_digest": "e9100203ca60eb8a954153b59d1bd26b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23301, "upload_time": "2017-09-01T08:55:44", "url": "https://files.pythonhosted.org/packages/da/c3/81b3a3a7b0e7cb559a86f875e85f79b3c3bf02fc32dc733cf02a798be44b/graphjoiner-0.4.0b30.tar.gz" } ], "0.4.0b31": [ { "comment_text": "", "digests": { "md5": "e1fd8ea4afc708ff05da5603a3b4405e", "sha256": "64fdd58fb7dbdd57114843347b5d35e6ea5764b2fbbe02fc7c48aa0147e7400d" }, "downloads": -1, "filename": "graphjoiner-0.4.0b31-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e1fd8ea4afc708ff05da5603a3b4405e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 24001, "upload_time": "2017-09-07T16:03:34", "url": "https://files.pythonhosted.org/packages/68/da/309ed8524006779a8b5dc938528170e7bd1d4e201ba1ee00a85a4e0f52b0/graphjoiner-0.4.0b31-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9f5cc7b2edffe5c62fc646b13bb7a43", "sha256": "ca1f6473e6d60933b4056860d14c189654bf39d0703f8864577a4e473330548f" }, "downloads": -1, "filename": "graphjoiner-0.4.0b31.tar.gz", "has_sig": false, "md5_digest": "e9f5cc7b2edffe5c62fc646b13bb7a43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24148, "upload_time": "2017-09-07T16:03:32", "url": "https://files.pythonhosted.org/packages/7f/22/49b9eda383869eaeb3f28013a0973d4dd5926a2e8fd61ea59fed1b7e7e0b/graphjoiner-0.4.0b31.tar.gz" } ], "0.4.0b32": [ { "comment_text": "", "digests": { "md5": "ad2ab82d29d0c742b0c7e7567b195dce", "sha256": "9c04157394896ad3541cc3d4304e029f00cee1fd3d4055b79ad53df7a319113c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b32-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ad2ab82d29d0c742b0c7e7567b195dce", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 24141, "upload_time": "2017-09-08T09:56:37", "url": "https://files.pythonhosted.org/packages/13/3f/4192221b8aac98e005440393696e7c12a945a066368aa73c50e59019e4a4/graphjoiner-0.4.0b32-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe519238e5ecde74d0045cad51616814", "sha256": "cde52d9204b7174d60bd6793b30a6ff846536a1111a4b6113c6848f1bf9458c6" }, "downloads": -1, "filename": "graphjoiner-0.4.0b32.tar.gz", "has_sig": false, "md5_digest": "fe519238e5ecde74d0045cad51616814", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24257, "upload_time": "2017-09-08T09:56:36", "url": "https://files.pythonhosted.org/packages/e1/1b/61dbed0caaeb4cae420ff965c20925022fa883c3da481d1881a2299ae1d1/graphjoiner-0.4.0b32.tar.gz" } ], "0.4.0b33": [ { "comment_text": "", "digests": { "md5": "303c0fc735e9456cd5ea494a7d3f54a3", "sha256": "792ba145f23fc1b11ef38723dec0653f2d669dc327079ab41ec638a119fe0409" }, "downloads": -1, "filename": "graphjoiner-0.4.0b33-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "303c0fc735e9456cd5ea494a7d3f54a3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 25527, "upload_time": "2017-09-11T10:28:19", "url": "https://files.pythonhosted.org/packages/82/fb/8070add925bcb887aea7171db87e977564beba16b8178db0f64cb615f314/graphjoiner-0.4.0b33-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66e821fedc26d6dc8c33692acd262b23", "sha256": "e81f69b24d3ec9cff857922614cd74f196b91eb6b06868019dac6a634a9f7cb7" }, "downloads": -1, "filename": "graphjoiner-0.4.0b33.tar.gz", "has_sig": false, "md5_digest": "66e821fedc26d6dc8c33692acd262b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25323, "upload_time": "2017-09-11T10:28:17", "url": "https://files.pythonhosted.org/packages/6b/32/46d027d8e9c3283e7154359632eb62fa588c26e92a1ac6381d9cf29a7cf5/graphjoiner-0.4.0b33.tar.gz" } ], "0.4.0b34": [ { "comment_text": "", "digests": { "md5": "9112e7352baa39201b22d26958adcb46", "sha256": "116a6da452a20ef447ceae202a3979a0cb6a2a9c3e26299d8029184c86a04d95" }, "downloads": -1, "filename": "graphjoiner-0.4.0b34-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9112e7352baa39201b22d26958adcb46", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 25606, "upload_time": "2017-09-12T07:50:31", "url": "https://files.pythonhosted.org/packages/28/6f/136e611d4bc89dfcb8652296bcb76202305d7b3d7d1637c0d4d6ce3c6be6/graphjoiner-0.4.0b34-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fc8a1b01fbb1effb923a6eacd00bcb4", "sha256": "21a7f2893f1b7b23dadf252cb104043e13ec60d138e58f752e270d196c32ca37" }, "downloads": -1, "filename": "graphjoiner-0.4.0b34.tar.gz", "has_sig": false, "md5_digest": "7fc8a1b01fbb1effb923a6eacd00bcb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25391, "upload_time": "2017-09-12T07:50:30", "url": "https://files.pythonhosted.org/packages/d9/48/ab6cf440fe604569d58177f915d3ce8240920ecbcc965c7217ce57b43794/graphjoiner-0.4.0b34.tar.gz" } ], "0.4.0b35": [ { "comment_text": "", "digests": { "md5": "c77b901d9b15a005845887cf1358b0a7", "sha256": "280846561b4b9eb7177c0c52dc502751efb58afc5d4232694987eef0c245531b" }, "downloads": -1, "filename": "graphjoiner-0.4.0b35-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c77b901d9b15a005845887cf1358b0a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26940, "upload_time": "2017-11-13T12:53:27", "url": "https://files.pythonhosted.org/packages/5f/d9/2c62fbc538d1067d27b7a43adeb7b83ca332a8614ad8c194a0b725dde9c7/graphjoiner-0.4.0b35-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "654287009a94317a3f655660c4200900", "sha256": "3ec0c99e18f046b2ef99128e5efc8cf553111b1832aebe96d8e713ddf85af913" }, "downloads": -1, "filename": "graphjoiner-0.4.0b35.tar.gz", "has_sig": false, "md5_digest": "654287009a94317a3f655660c4200900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28805, "upload_time": "2017-11-13T12:53:29", "url": "https://files.pythonhosted.org/packages/87/72/db283c9e474fb7f69582b4c1c5a6ef91d38e24511a302c8b62d4d2dcf59a/graphjoiner-0.4.0b35.tar.gz" } ], "0.4.0b4": [ { "comment_text": "", "digests": { "md5": "1277a6cba714d61bbbbcb8aba5e6f3cd", "sha256": "3ca3971aa69ff5ec22f3ede2624ab869b3b3990829d4689635533646f7f3add7" }, "downloads": -1, "filename": "graphjoiner-0.4.0b4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1277a6cba714d61bbbbcb8aba5e6f3cd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16709, "upload_time": "2017-01-18T20:31:26", "url": "https://files.pythonhosted.org/packages/25/00/e6b3c8432b629f56f0519b6deb311b58b9015e925fddbd8eb74fac288de4/graphjoiner-0.4.0b4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c3ed7a9c019b5e644b637d06c6e3c75", "sha256": "c62ffe5e47e0edfc3567750f341172546980bdd9edce22ec923284edbd138918" }, "downloads": -1, "filename": "graphjoiner-0.4.0b4.tar.gz", "has_sig": false, "md5_digest": "5c3ed7a9c019b5e644b637d06c6e3c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15134, "upload_time": "2017-01-18T20:31:23", "url": "https://files.pythonhosted.org/packages/21/c6/77c4931862e6b04302c6729512db3bbab821e573642f9a86626c63890259/graphjoiner-0.4.0b4.tar.gz" } ], "0.4.0b5": [ { "comment_text": "", "digests": { "md5": "17c1dddf8536e3ccf705210947bf7c64", "sha256": "a9859dad5eb303ed90987b1358cc2be702b5a0ea7d0d1d8d8842954dff9f1c2c" }, "downloads": -1, "filename": "graphjoiner-0.4.0b5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "17c1dddf8536e3ccf705210947bf7c64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16727, "upload_time": "2017-01-19T09:32:23", "url": "https://files.pythonhosted.org/packages/59/d0/249d9f1a7ab61e7aca9b465f6e329d13c0172da59f2081b17403a81a9a8e/graphjoiner-0.4.0b5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7c23d097c8022a0f138b30a0d120467", "sha256": "d109bd9702d5b3d21827d065ac69124fca1a2dc470e1a6cdaf4c92b4453763e6" }, "downloads": -1, "filename": "graphjoiner-0.4.0b5.tar.gz", "has_sig": false, "md5_digest": "a7c23d097c8022a0f138b30a0d120467", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15167, "upload_time": "2017-01-19T09:32:26", "url": "https://files.pythonhosted.org/packages/04/64/cb84bcc3150d18f0bcc080f9f09af3ed345c9c1298141b0e527e07679a3c/graphjoiner-0.4.0b5.tar.gz" } ], "0.4.0b6": [ { "comment_text": "", "digests": { "md5": "af12233b878359a4bf7bb8bdaff7ba6b", "sha256": "975a48c11c9033471367ca02dbe0e7ab71bc34abf79405fb9a18b4181d4a2005" }, "downloads": -1, "filename": "graphjoiner-0.4.0b6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "af12233b878359a4bf7bb8bdaff7ba6b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16632, "upload_time": "2017-01-19T10:56:09", "url": "https://files.pythonhosted.org/packages/df/f4/6449a7976823318aa7fe795726ffae0c07b47f5a20a6c9431e06662c6f57/graphjoiner-0.4.0b6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5af4915ea61f1d122b8dbcd04962648d", "sha256": "d9e16b82657d68e02224c7e4f29705af31934377c30e54944eb369e9b05cacf4" }, "downloads": -1, "filename": "graphjoiner-0.4.0b6.tar.gz", "has_sig": false, "md5_digest": "5af4915ea61f1d122b8dbcd04962648d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15090, "upload_time": "2017-01-19T10:56:11", "url": "https://files.pythonhosted.org/packages/94/b9/0e798e1f1b6c1a9657c3c6bdb985bdba2828190978638bb8549ad60597b5/graphjoiner-0.4.0b6.tar.gz" } ], "0.4.0b7": [ { "comment_text": "", "digests": { "md5": "b00c84eefb6d69afc9e57ad9de98209a", "sha256": "454a86693c0c5da3f34f0601354ad7bac3eef7977391a29d269497420f9717d1" }, "downloads": -1, "filename": "graphjoiner-0.4.0b7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b00c84eefb6d69afc9e57ad9de98209a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16675, "upload_time": "2017-01-23T11:45:07", "url": "https://files.pythonhosted.org/packages/a6/30/75564aa67eb9668f53088cc555bac0da1e5119658a001ebfaf5fea35c507/graphjoiner-0.4.0b7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74b80786e8e0400db61f5a5aabad9a2a", "sha256": "17d81f72f0c0379f50de01b860a0ba2ccc74c9d2cba0794f167049d71a66e342" }, "downloads": -1, "filename": "graphjoiner-0.4.0b7.tar.gz", "has_sig": false, "md5_digest": "74b80786e8e0400db61f5a5aabad9a2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15134, "upload_time": "2017-01-23T11:45:10", "url": "https://files.pythonhosted.org/packages/61/67/495d8bd9e5aa5145ea696ee3c29694a4d6f07fd1544bf8786d29a4930667/graphjoiner-0.4.0b7.tar.gz" } ], "0.4.0b8": [ { "comment_text": "", "digests": { "md5": "9d0b25fafdc036d21cce4fd1ddf1429a", "sha256": "b01db69bd9c904b7cde78bdce134b4b223e70a5c823a9eaac36680e22b158188" }, "downloads": -1, "filename": "graphjoiner-0.4.0b8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d0b25fafdc036d21cce4fd1ddf1429a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16720, "upload_time": "2017-01-25T10:24:28", "url": "https://files.pythonhosted.org/packages/98/8d/fc5fb979387de8012c9a33a8d02b5fd6cdc6db9f6e8a5645b1445292ef6e/graphjoiner-0.4.0b8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80215135cdb11e9a42b57614ef5011df", "sha256": "781b4569b11b03d9edd13effb5af24f58cb8377eeed1423f1babf2b404059c9d" }, "downloads": -1, "filename": "graphjoiner-0.4.0b8.tar.gz", "has_sig": false, "md5_digest": "80215135cdb11e9a42b57614ef5011df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15178, "upload_time": "2017-01-25T10:24:30", "url": "https://files.pythonhosted.org/packages/7c/b3/a4f5677a3c2ab1485f874f0a3f68a550ef2710807f82624095952783f13b/graphjoiner-0.4.0b8.tar.gz" } ], "0.4.0b9": [ { "comment_text": "", "digests": { "md5": "109a9e4234d21371986f38d2a6be10dd", "sha256": "fb2c64aca941dfb65fdc3a526e7221b064c4c996bd4ac593f5c3a9ec05890d91" }, "downloads": -1, "filename": "graphjoiner-0.4.0b9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "109a9e4234d21371986f38d2a6be10dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16758, "upload_time": "2017-01-25T11:18:01", "url": "https://files.pythonhosted.org/packages/6d/d4/7f1e2cbd2f6cdc182592cf8b79eaf658afbc482d9c8e95c96cc554e54da1/graphjoiner-0.4.0b9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52c38d1f88476460db89262fc9575dbb", "sha256": "e1ef061fbfdd0bbd8cc318aae4af9330de3bc415bf377664fce5b461cd8b4cc4" }, "downloads": -1, "filename": "graphjoiner-0.4.0b9.tar.gz", "has_sig": false, "md5_digest": "52c38d1f88476460db89262fc9575dbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15213, "upload_time": "2017-01-25T11:18:02", "url": "https://files.pythonhosted.org/packages/1f/78/eaf2dccb8757eee1a6e7b37275af950890fe61e8c579cf8fb600c54001f1/graphjoiner-0.4.0b9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9dcdb0dc204bd8e31795de591208cad0", "sha256": "f2e81612ebef5da35d2f32600197de884cbf73c9408ddd70cfbbd73b168d7c0c" }, "downloads": -1, "filename": "graphjoiner-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9dcdb0dc204bd8e31795de591208cad0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11109, "upload_time": "2016-11-09T20:51:41", "url": "https://files.pythonhosted.org/packages/67/ee/8cf0718e04912feb3870b6eaaa401da848b641720d132c04e72322454410/graphjoiner-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "204cff92b35f3e0302479a083c9b778d", "sha256": "3415987dd60d04fbd330c303b94475200b6c120dbb8592d8c7d3495f7b99a31a" }, "downloads": -1, "filename": "graphjoiner-0.3.1.tar.gz", "has_sig": false, "md5_digest": "204cff92b35f3e0302479a083c9b778d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9218, "upload_time": "2016-11-09T20:51:38", "url": "https://files.pythonhosted.org/packages/13/40/10cc8ea1da80000f7770dd0294e8bc918546cd2e05a81abd9f6dbf428e79/graphjoiner-0.3.1.tar.gz" } ] }