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 🙏

© 2026 – Pkg Stats / Ryan Hefner

astraeus-data-uranus

v0.7.0

Published

Uranus's moon positions for the Astraeus engine: piecewise Chebyshev fits of JPL Horizons state vectors, 2010 to 2030, the main moons and the planet from 1950.

Readme

astraeus-data-uranus

Uranus's moon positions for the Astraeus engine: every moon JPL Horizons lists for Uranus, and Uranus itself, as piecewise Chebyshev fits about the system barycentre (geometric, ICRF, TDB), one file per body per calendar year, 2010 to 2030, except Miranda, Ariel, Umbriel, Titania and Oberon, and Uranus itself, which are fitted from 1950 (1950 to 2030). Each body's own years are its span in index.json (the other moons 2010 to 2030); a scene whose timeline reaches outside a body's years fails once at mount with SceneError code out-of-span. The measured fit errors are in index.json.

import { mount, Scene, uranus } from "astraeus";
import { dataSource } from "astraeus-data-uranus";

mount(element, new Scene().addBody(uranus), { data: [dataSource] });

The engine loads only the year files the scene's time window needs. Every one of Uranus's 28 listed moons is added by its id (scene.addBody("miranda"), with this package passed to mount); listedMoons("uranus") names them. Each is a grey sphere at its JPL mean radius, and { orbit: true } draws one lap of its JPL period.

Source: JPL Horizons On-Line Ephemeris System API (NASA/JPL-Caltech Solar System Dynamics), US Government work, used with credit. See NOTICE.