Skip to main content

A Python package for the Virgo language

Project description

PyVirgo

This is a Python implementation of Virgo, the graph declarative language.

You can find details of Virgo with the Go implementation at https://github.com/r2d4/virgo

Virgo is designed so that we can express graphs in a config file. These could be dependency graphs, for example of a build process, or any other graph structure.

To invoke PyVirgo:

>>> import virgo
>>> g = virgo.loads("a -> b, c <- d")
>>> g       # doctest: +ELLIPSIS
<virgo.graph.Graph object at ...>
>>> sorted(list(g.direct_successors_of("a")))
['b', 'c']

It's more likely that we will want to load a graph from a file:

>>> g2 = virgo.load("test/files/make.vgo")
>>> g2      # doctest: +ELLIPSIS
<virgo.graph.Graph object at ...>
>>> g2.direct_successors_of("src files")
{'test'}

We can access the 'node data' for each node, by identifier.

>>> g2.nodes["src files"]
'go build ./...'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvirgo36-0.2.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyvirgo36-0.2.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pyvirgo36-0.2.1.tar.gz.

File metadata

  • Download URL: pyvirgo36-0.2.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.3

File hashes

Hashes for pyvirgo36-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ea80ea38b53adfe68642a71490be793d5efda0125a46a56029ed19d17cd343ab
MD5 c6ee411d86cf23aa96f540409e41d565
BLAKE2b-256 215ca80adfa4a9de9dba3fce8fdc0634b510f01b5895163c24f5a8fe2837de88

See more details on using hashes here.

File details

Details for the file pyvirgo36-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyvirgo36-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.3

File hashes

Hashes for pyvirgo36-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1c5e5a92c1badefb3ceeb23ec15ee7a0fb9a05bbe226ca7742648385871294b9
MD5 5a01abe7f119055e1c01e54a99635637
BLAKE2b-256 4ac114a31dc87f6271f1d7c2c7cd120b7d9057352f3a9d60655f8c5f86583701

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page