Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges.
Sigma.js is an open-source JavaScript library aimed at visualizing graphs of thousands of nodes and edges, mainly developed by @jacomyal and @Yomguithereal.
Here are some quick insights on the codebase. To know more on these topics, please read the documentation.
Since version v2
, sigma.js focuses on the management of graph display: rendering, interaction... The graph model is managed in a separate library called graphology, which is packed with convenience methods to manage graph data structures, and a lot of satellite libraries to handle various graph-related problems (metrics, community detection, layout algorithms...).
Graphology website offers a list of these libraries. Most of them can help you solve problems in your sigma.js based web applications.
Sigma.js uses WebGL to render graphs. This makes it good at rendering medium to larger graphs in web pages (thousands of nodes and edges or more). It is also possible to customize rendering, but it is harder than it would be with SVG or Canvas based solutions.
Each way to draw a node or an edge is implemented as a program
. You can develop your own, or use the owns provided by sigma. You can check this example to see how to use multiple programs. Also, you can check the list of available programs here.
You can install sigma
(and graphology
which is required for sigma
to work) in your JavaScript or TypeScript project using npm
:
npm install graphology sigma
The examples
folder contains a series of self-contained TypeScript projects that you can either browse and edit on CodeSandbox or install locally likewise:
git clone git@github.com:jacomyal/sigma.js.git
cd sigma.js
npm install
cd packages/examples
npm start --example=load-gexf-file # Change this to the desired example
List of available examples
Also, a more realistic sigma.js based web application is available in the demo
folder. It aims to show a real-world usecase, and is the main showcase of sigma.js website.
The current website is based on Docusaurus, with a static homepage. It is located in the website
folder. It also showcases the React.js based demo available in the demo
folder in an iframe. The website itself does not need any build step, though the demo does.
The homepage and identity have been kindly designed by Robin de Mourat from the Sciences-Po médialab team.
Read the dedicated README to know more on how to build it.
You can contribute by submitting issues tickets and proposing pull requests. Make sure that tests and linting pass before submitting any pull request.
You can also browse the related documentation here.
FAQs
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges.
The npm package sigma receives a total of 19,759 weekly downloads. As such, sigma popularity was classified as popular.
We found that sigma demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.