{"id":15466083,"url":"https://github.com/wcooley/python-gryaml","last_synced_at":"2026-01-30T20:02:49.214Z","repository":{"id":57436185,"uuid":"46081818","full_name":"wcooley/python-gryaml","owner":"wcooley","description":"Represent Neo4j graph data as YAML","archived":false,"fork":false,"pushed_at":"2025-10-16T00:36:44.000Z","size":98,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-16T20:31:52.610Z","etag":null,"topics":["neo4j","py2neo","python","yaml"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wcooley.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-12T21:25:30.000Z","updated_at":"2022-04-15T16:37:36.000Z","dependencies_parsed_at":"2022-09-06T01:11:19.481Z","dependency_job_id":null,"html_url":"https://github.com/wcooley/python-gryaml","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/wcooley/python-gryaml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcooley%2Fpython-gryaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcooley%2Fpython-gryaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcooley%2Fpython-gryaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcooley%2Fpython-gryaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wcooley","download_url":"https://codeload.github.com/wcooley/python-gryaml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcooley%2Fpython-gryaml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["neo4j","py2neo","python","yaml"],"created_at":"2024-10-02T01:04:53.107Z","updated_at":"2026-01-30T20:02:49.195Z","avatar_url":"https://github.com/wcooley.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=============================\ngryaml\n=============================\n\n\n.. image:: https://img.shields.io/pypi/v/gryaml.svg\n        :target: https://pypi.python.org/pypi/gryaml\n\n..\n    .. image:: https://travis-ci.org/wcooley/python-gryaml.png?branch=master\n        :target: https://travis-ci.org/wcooley/python-gryaml\n\n    .. image:: https://pypip.in/d/gryaml/badge.png\n        :target: https://pypi.python.org/pypi/gryaml\n\n\n\nRepresent Neo4j graph data as YAML.\n\n\nFeatures\n--------\n\n* Creates nodes and relationships in a Neo4j graph database from YAML using\n  PyYAML-specific tags.\n* Operates at a whole-file level, as it uses custom YAML tags to deserialize\n  the data to live objects.\n* Developed for loading data for integration testing.\n* Requires a running Neo4j instance and instantiates actual database entities,\n  rather than just generating abstract/unbound ``py2neo.Node`` and\n  ``py2neo.Relationship`` objects. This is due to ``py2neo`` version\n  1.6 not supporting node labels with abstract nodes. This might be changed if\n  we are able to migrate off of 1.6 in the near future.\n\nVersions\n--------\n\nPython\n    Tested with both Python 2.7 and 3.6.\nNeo4j\n    Should work with anything \u003e= 2.0. Tested with 3.3.5. Running the\n    tests requires 2.3 as it uses the ``DETACH DELETE`` feature to drop the\n    database.\n``py2neo``\n    Currently supports 1.6 and 2.0.\n``pyyaml``\n    Tested with PyYAML v3.13.\n\nTesting\n-------\n\nRunning the tests requires an installed, running Neo4j instance. Pass the URL\nthrough the environment variable ``NEO4J_URI``.\n\nFuture\n------\n\n* Make nodes just dicts with 'labels' and 'properties' keys? Maybe make rels\n  dicts with 'head', 'tail', 'type' and 'properties' keys too?\n* Add a context manager to register with PyYAML, create graph database\n  connection and then cleanup.\n* Support locating nodes with a Cypher query as part of creating a\n  relationship.\n* Add ``gryaml-dump`` CLI tool to render database (or query result) as YAML.\n* Test/support ``ruamel.yaml``.\n* Add ability to update \u0026 display schema.\n* Later ``py2neo``.   Dependent mainly on supporting later versions in\n  py2neo_compat_.\n* Documentation more complete \u0026 published to ReadTheDocs.\n\n.. _py2neo_compat: https://pypi.org/project/py2neo-compat/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcooley%2Fpython-gryaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwcooley%2Fpython-gryaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcooley%2Fpython-gryaml/lists"}