npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

arbor-harness

v1.0.1

Published

Testing tool for arbor.js reimplementations

Downloads

5

Readme

arbor-harness

Testing tool for Arbor.js and related tool reimplementations

Developed for node.js 11 (may work in earlier versions)

Concept

  • Fetch the existing implementation of Arbor.js, arbor_parser.js, and synapse_clustering.js
  • Run all of the important functions of each with test data included in this repo, storing their output for comparison
  • Benchmark each function

Installation

# from NPM:

npm install -g arbor-harness

# Or for development:
git clone <this repo>
cd arbor-harness
npm link

Usage

usage: arbor-harness [-h] [-v] [-r REPO] [-b BRANCH] [-t TGTPATH] [-d DATADIR]
              [-l LAMBDA] [-f FRACTION] [-o RESULTSDIR] [-n REPS]
              [tasks [tasks ...]]

Tool to help test alternative Arbor.py implementations

Positional arguments:
  tasks                 Any subset of "data" (copy skeleton data to
                        destination), "impl" (fetch reference implementation;
                        must be done at least once), "results" (calculate
                        results for reference implementation), and "bench"
                        (benchmark reference implementation)

Optional arguments:
  -h, --help            Show this help message and exit.
  -v, --version         Show program's version number and exit.
  -r REPO, --repo REPO  GitHub repository from which to fetch reference
                        implementation [catmaid/CATMAID]
  -b BRANCH, --branch BRANCH
                        Git branch of the reference implementation [master]
  -t TGTPATH, --tgtPath TGTPATH
                        Additionally save the fetched implementation to a file
  -d DATADIR, --dataDir DATADIR
                        Directory containing compact-arbor.json and
                        compact-skeleton.json. If empty, will use internal
                        skeleton data
  -l LAMBDA, --lambda LAMBDA
                        lambda value to use for synapse clustering [2000]
  -f FRACTION, --fraction FRACTION
                        fraction value to use for synapse clustering [0.9]
  -o RESULTSDIR, --resultsDir RESULTSDIR
                        Directory in which to save result and benchmark
                        Outputs [./results]
  -n REPS, --reps REPS  Number of repetitions to use while benchmarking [100]

To run from a locally cloned version of this repo, use npm run cli -- instead of arbor-harness

Examples

# get the reference implementation (saving it internally), and also save it to ./tmp/impl.js for inspection
arbor-harness impl -t ./tmp/impl.js

# dump the included skeleton data to ./tmp/skel-data
arbor-harness data -d ./tmp/skel-data

# get results and run benchmarks for the data copied above and save them to ./tmp/output
arbor-harness results bench -d ./tmp/skel-data -o ./tmp/output