Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Epoch | 5,014 | 34 | 3 | 4 years ago | 7 | October 30, 2015 | 71 | mit | HTML | |
A general purpose, real-time visualization library. | ||||||||||
Joint | 3,928 | 271 | 44 | 6 days ago | 46 | April 08, 2022 | 50 | mpl-2.0 | JavaScript | |
A proven SVG-based JavaScript diagramming library powering exceptional UIs | ||||||||||
Go Recipes | 2,572 | a day ago | 33 | mit | Go | |||||
🦩 Tools for Go projects | ||||||||||
Vuetron | 524 | 5 | 2 years ago | 6 | December 02, 2017 | 6 | mit | Vue | ||
A tool for testing and debugging your Vue + Vuex applications. 是一個可以幫助您 Vue.js 的項目測試及偵錯的工具, 也同時支持 Vuex及 Vue-Router. | ||||||||||
Sequenceserver | 251 | 1 | 18 days ago | 65 | November 30, 2020 | 72 | other | JavaScript | ||
Intuitive graphical web interface for running BLAST bioinformatics tool (i.e. have your own custom NCBI BLAST site!) | ||||||||||
Covidtesting | 192 | 10 months ago | JavaScript | |||||||
The COVID-19 Testing Gap: an interactive data visualization | ||||||||||
Lightning Python | 148 | 13 | 5 years ago | 15 | September 25, 2015 | 22 | mit | Python | ||
Python client for the lightning API | ||||||||||
Gaston.jl | 143 | 1 | a month ago | April 01, 2019 | 17 | mit | Julia | |||
A julia front-end for gnuplot. | ||||||||||
Python Benchmark Harness | 124 | a year ago | 4 | June 05, 2021 | 1 | mit | ||||
A micro/macro benchmark framework for the Python programming language that helps with optimizing your software. | ||||||||||
Nk Missile Tests | 117 | 4 days ago | 1 | apache-2.0 | JavaScript | |||||
An interactive visualization of flight tests of all missiles launched by North Korea from 1984 to 2023 |
By Ryan Sandor Richards
Epoch is a general purpose charting library for application developers and visualization designers. It focuses on two different aspects of visualization programming: basic charts for creating historical reports, and real-time charts for displaying frequently updating timeseries data.
To get started using Epoch, please refer to the Epoch Project Site. There you can find full documentation and guides to help you start using Epoch right away.
Epoch can be easily installed via the following package managers:
If you don't see your favorite package manager in the list above feel free to open up an issue and let us know. Finally, you can download any release of the library from the project releases page.
Important: Epoch requires d3. In order to work properly your page must load d3 before epoch.
If you don't want to host the files yourself, you can use jsDelivr to serve the files:
Developing Epoch is a reasonably straight forward process. In this section we'll cover the basic on how to develop Epoch by detailing common build task, exploring how the source is arranged, and finally show how to use rendering tests to aid development.
Epoch requires the following for development:
Once both are installed on your machine you will need to run npm install
from
the repository's root directory in order to install the npm packages required
to develop epoch.
Once you have installed the required npm packages you can use gulp build
to
fully rebuild the source (see more information about gulp tasks below).
The best way to start contributing to Epoch is to follow these steps:
gulp watch
to recompile the project after source files changesrc/
or sass/
)test/index.html
and browse the rendering testsnpm test
Epoch uses two types of testing to ensure that changes do not cause unintended side effects. The first, unit tests, ensure that the core functional components of the library work as expected. The second, rendering tests, allow you to ensure that charts and graphs are correctly rendered.
It is important to keep both unit test and rendering tests up-to-date! When developing, use the following guidelines:
Keeping the tests current makes it easier for others to review your code and spot issues. Also, pull requests without appropriate testing will not be merged.
Epoch uses gulp to perform various tasks. The
gulpfile.js
file defines the following tasks:
gulp clean
- Cleans the dist/
directory.gulp build
- Builds the CoffeeScript and Sass source into the dist/
directory.gulp watch
- Starts a watch script to recompile CoffeeScript and Sass when
any files change.The directory structure for the Epoch project follows some basic guidelines, here's an overview of how it is structured:
dist/ - Compiled JavaScript and CSS source
src/ - Main source directory
core/ - Core Epoch Library Files
util.coffee - Library Utility Routines
d3.coffee - d3 Extensions
format.coffee - Data formatters
chart.coffee - Base Chart Classes
css.coffee - CSS Querying Engine
adapters/ - 3rd Party Library Adapters (currently only jQuery)
basic/ - Basic Chart Classes
time/ - Real-time Chart Classes
adapters.coffee - Options / Global Classes for Adapter Implementations
basic.coffee - Base Classes for Basic Charts
data.coffee - Data Formatting
epoch.coffee - Main source file, defines name spaces, etc.
model.coffee - Data Model
time.coffee - Base Classes for Real-Time Charts
sass/ - Scss source for the default epoch stylesheet
tests/
render/ - Rendering tests
basic/ - Basic chart rendering tests
real-time/ - Real-time rendering tests
unit/ - Unit tests
npm test
and ensure all tests passnpm version [major|minor|patch]
npm publish
gh-pages
branch's library version in _config.yml