<commit_before># ngraph

Ngraph is a set of graph related algorithms. It can be used in a browser
or on the server side. This repository is a collection of examples, which show
how to use some of them or build your own.

# What is available?
Currently this library is work in progress. I will add demos as quickly as I can.

## Serialization
* Dot files serializer [from](https://github.com/anvaka/ngraph.fromdot)/[to](https://github.com/anvaka/ngraph.todot)
* (Gephi) `gexf` file - [Source](https://github.com/anvaka/ngraph.gexf); [Demo](https://github.com/anvaka/ngraph/tree/master/examples/storage/gephi)
* [Binary format](https://github.com/anvaka/ngraph.tobinary) - space-efficient
format for large graphs. E.g. 5 million edges, 1 million nodes requires only 23 MB of space.

## Offline layout
Sometimes doing layout in the browser is not feasible (e.g. the graph is too large
to achive decent performance). In that case we can compute layout offline and
provide static positions to the browser.

* [ngraph.offline.layout](https://github.com/anvaka/ngraph.offline.layout) is an
npm module to perform such layout. If this module is too slow, you can also
try:
* [ngraph.native](https://github.com/anvaka/ngraph.native) which is fully implemented
in C++ and is 9x faster thant javsript version.

## Interactive renderer

This is set of libraries that use ngraph modules to provide rendering in the
browser:

* [VivaGraph](https://github.com/anvaka/VivaGraphJS), one of the [fastest](https://www.youtube.com/watch?v=Ax7KSQZ0_hk) graph drawing libraries is now [constructed](https://github.com/anvaka/VivaGraphJS/blob/master/package.json)
from ngraph modules. It is an opinionated set of modules packed together.
* [ngraph.pixel](https://github.com/anvaka/ngraph.pixel) - Fast 3D graph renderer
based on low level ShaderMaterial from three.js<commit_msg>Added link to npm<commit_after># ngraph

Ngraph is a set of graph related algorithms. It can be used in a browser
or on the server side. This repository is a collection of examples, which show
how to use some of them or build your own.

# What is available?
Currently this library is work in progress. I will add demos as quickly as I can.

## Serialization
* Dot files serializer [from](https://github.com/anvaka/ngraph.fromdot)/[to](https://github.com/anvaka/ngraph.todot)
* (Gephi) `gexf` file - [Source](https://github.com/anvaka/ngraph.gexf); [Demo](https://github.com/anvaka/ngraph/tree/master/examples/storage/gephi)
* [Binary format](https://github.com/anvaka/ngraph.tobinary) - space-efficient
format for large graphs. E.g. 5 million edges, 1 million nodes requires only 23 MB of space.

## Offline layout
Sometimes doing layout in the browser is not feasible (e.g. the graph is too large
to achive decent performance). In that case we can compute layout offline and
provide static positions to the browser.

* [ngraph.offline.layout](https://github.com/anvaka/ngraph.offline.layout) is an
npm module to perform such layout. If this module is too slow, you can also
try:
* [ngraph.native](https://github.com/anvaka/ngraph.native) which is fully implemented
in C++ and is 9x faster thant javsript version.

## Interactive renderer

This is set of libraries that use ngraph modules to provide rendering in the
browser:

* [VivaGraph](https://github.com/anvaka/VivaGraphJS), one of the [fastest](https://www.youtube.com/watch?v=Ax7KSQZ0_hk)
graph drawing libraries is now [constructed](https://github.com/anvaka/VivaGraphJS/blob/master/package.json)
from ngraph modules. It is an opinionated set of modules packed together.
* [ngraph.pixel](https://github.com/anvaka/ngraph.pixel) - Fast 3D graph renderer
based on low level ShaderMaterial from three.js

## Other

There are plenty modules within ngraph family: [this npm search](https://www.npmjs.com/search?q=ngraph)
shows most of them
{'fraction_non_alphanumeric': 0.10265072765072765, 'fraction_numerical': 0.004158004158004158, 'mean_word_length': 4.586357039187228, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 23, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7670390', 'n_tokens_mistral': 1206, 'n_tokens_neox': 1163, 'n_words': 439}