by williamngan

williamngan / pts

A library for visualization and creative-coding

3.9K Stars 135 Forks Last release: Not found Apache License 2.0 635 Commits 12 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:



Pts is a typescript/javascript library for visualization and creative-coding.

Get started at

Please give it a try, file issues, and send feedbacks to @williamngan. Thank you!


Option 1
Get the latest

(in dist folder). Alternatively use a CDN service like cdnjs or jsdelivr or unpkg. Then add it to your html page like this:

Pts is pretty lightweight. Currently at ~90kb minified and 26kb gzipped.

Option 2:
Install via

npm install pts
. Then you can choose to import some parts of Pts into your project as needed.
import {CanvasSpace, Pt, Group, Line} from 'pts';

To quickly get started, try download or clone these repos: - pts-starter-kit: Get started with a sample app using npm and webpack - pts-react-example: Try an example of using Pts with React. - react-pts-canvas: Use it in your React project by extending react-pts-canvas component

Get Started
Read the guides and take a look at the demos and their source code.
If you need help, please don't hesitate to file an issue.

For development

Pts is written in typescript. You can clone or fork this project and build it as follows:

Build and test

Clone this repo and install dependencies via

npm install
npm start
npm run build
npm test

Generate documentations

Run this to generate Pts styled documentations. (Requires python 3.6)

npm run docs 

If you prefer to generate default typedocs, run this:

typedoc --readme none --out typedocs src --name Pts

Generate typescript declaration files and minify

npm run typings
npm run minify


We appreciate your support and feedbacks!

Please file issues if you find bugs and have feature requests. If you are able to send small PRs to improve Pts or fix bugs, that would be awesome too.

For larger PRs, please ping @williamngan to discuss first.


Apache License 2.0. See LICENSE file for details.
Copyright © 2017-2019 by William Ngan and contributors.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.