GithubHelp home page GithubHelp logo

moul / graphman Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 1.0 163 KB

graph manipulation library in golang (pert, cpm, dijkstra, ...)

Home Page: https://manfred.life/graph

License: Apache License 2.0

Go 77.93% Makefile 17.35% Dockerfile 0.48% HTML 3.95% JavaScript 0.30%
graph graph-theory pert cpm dijkstra

graphman's Introduction

graphman

graph manipulation library in golang

CircleCI GoDoc License GitHub release Go Report Card CodeFactor Docker Metrics Made by Manfred Touron

Library

graphman is a golang library that manipulates graphs, take a look at godoc and examples to get a quick understanding of what it can be used for.

Binaries

Pertify

Install with: go get -u moul.io/graphman/cmd/pertify

graphman's People

Contributors

dependabot[bot] avatar moul avatar moul-bot avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

lgtm-migrator

graphman's Issues

[META] Ideas 💡

This is an idea dump, some ideas may have already been implemented :)

  • generate JSON output
  • generic dijkstra that takes a function as argument
  • CLI
  • "Weight" management (to be defined)
  • Export Neo4J
  • And/Or nodes, maybe add an helper that generates meta nodes?
  • Improve metadata management
  • dijsktra on multiple parameters (multiple weight + multiple conditions)
  • generate CSV output
  • implement remove/hide flag to improve graph manipulation
  • airtable import/export
  • generate a table output like the slide 44 of this presentation: http://laurent.debize.free.fr/tiis/TIIS1_Graphes.pdf
  • implement the MPM method
  • Pert: compute max-min; free-margin (margin that doesn't have impact on the roadmap)
  • https://en.wikipedia.org/wiki/Complete_graph
  • k-vertex-connected-graph: https://en.wikipedia.org/wiki/K-vertex-connected_graph
  • IsConnected()
  • Convex Hull
  • Pert: Total Variance / Sigma / Standard Deviation / Critical Path
  • Merkel Tree
  • Improve the Pert object to make it easier to use programmatically, generate a struct PertManager{g *Graph} ?
  • Use colors for status in Pert (done/available/todo/target)
  • Add a way of grouping elements (containers), i.e., group by project/repo
  • Gantt
  • Pert: TE(longest path / minimal date to achieve); TS(max time imposed by direction);each task can have a TS (TS auto == TE); TL (max time based on TS - TE)
  • when we calculate a "critical" / "longest" / "shortest" path; highlight all the other paths with the exact same value (not only one)
  • Edit Distance Algorithm
  • IsTree()
  • https://en.m.wikipedia.org/wiki/Main_path_analysis
  • export to OPML
  • https://en.m.wikipedia.org/wiki/Treemapping?wprov=sfti1

implement the whole official vocabulary

  • Vertex/Vertices
  • Edge/Edges
  • Graph/Graphs
  • SubGraph/Subgraphs
  • Valued Graph
  • Directd Graph
  • Arc
  • Predecessors Γ−
  • Successors Γ+
  • Path Length
  • Loop
  • Circuit
  • Arc Value
  • Path Value
  • Minimal Path
  • Maximal Path
  • Optimal Paths
  • Simple Oriented Graph (without circuit)
  • 0-level Vertex
  • N-level minimal amount of predecessors

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

These problems occurred while renovating this repository. View logs.

  • WARN: Package lookup failures

Warning

Renovate failed to look up the following dependencies: Could not determine new digest for update (go package github.com/awalterschulze/gographviz).

Files affected: viz/go.mod


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • chore(deps): update all (alpine, codfish/semantic-release-action, github.com/aws/aws-lambda-go, github.com/pkg/errors, golang, gopkg.in/urfave/cli.v2, gopkg.in/yaml.v3, jquery, moul, twitter-bootstrap)
  • chore(deps): update all (major) (codfish/semantic-release-action, gopkg.in/yaml.v2, twitter-bootstrap)

Detected dependencies

circleci
.circleci/config.yml
  • moul 1.12.1
dockerfile
Dockerfile
  • golang 1.15.7-alpine
  • alpine 3.14.0
github-actions
.github/workflows/release.yml
  • codfish/semantic-release-action v1.9.0
gomod
cmd/pertify/go.mod
  • go 1.13
  • github.com/pkg/errors v0.8.1
  • gopkg.in/urfave/cli.v2 v2.0.0-20190806201727-b62605953717@b62605953717
  • gopkg.in/yaml.v3 v3.0.0-20190709130402-674ba3eaed22@674ba3eaed22
  • moul.io/graphman v1.6.0
  • moul.io/graphman/viz v0.0.0
go.mod
  • go 1.13
  • gopkg.in/yaml.v2 v2.4.0
lambda/go.mod
  • go 1.13
  • github.com/aws/aws-lambda-go v1.13.2
  • github.com/pkg/errors v0.8.1
  • gopkg.in/yaml.v3 v3.0.0-20190924164351-c8b7dadae555@c8b7dadae555
  • moul.io/graphman v1.6.0
  • moul.io/graphman/viz v1.5.0
viz/go.mod
  • go 1.13
  • github.com/awalterschulze/gographviz v0.0.0-20190522210029-fa59802746ab@fa59802746ab
  • moul.io/graphman v1.6.0
html
web/pertify/index.html
  • twitter-bootstrap 4.4.1
  • twitter-bootstrap 4.4.1
  • jquery 3.4.1

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.