GithubHelp home page GithubHelp logo

astroml.github.com's Introduction

AstroML: Machine Learning for Astronomy

Reference proceedings

Github Actions CI Status

Latest PyPI version

PyPI download stat

License badge

AstroML is a Python module for machine learning and data mining built on numpy, scipy, scikit-learn, and matplotlib, and distributed under the BSD license. It contains a growing library of statistical and machine learning routines for analyzing astronomical data in python, loaders for several open astronomical datasets, and a large suite of examples of analyzing and visualizing astronomical datasets.

This project was started in 2012 by Jake VanderPlas to accompany the book Statistics, Data Mining, and Machine Learning in Astronomy by Zeljko Ivezic, Andrew Connolly, Jacob VanderPlas, and Alex Gray.

Installation

Before installation, make sure your system meets the prerequisites listed in Dependencies, listed below.

Core

To install the core astroML package in your home directory, use:

pip install astroML

A conda package for astroML is also available either on the conda-forge or on the astropy conda channels:

conda install -c astropy astroML

The core package is pure python, so installation should be straightforward on most systems. To install from source, use:

python setup.py install

You can specify an arbitrary directory for installation using:

python setup.py install --prefix='/some/path'

To install system-wide on Linux/Unix systems:

python setup.py build
sudo python setup.py install

Dependencies

There are two levels of dependencies in astroML. Core dependencies are required for the core astroML package. Optional dependencies are required to run some (but not all) of the example scripts. Individual example scripts will list their optional dependencies at the top of the file.

Core Dependencies

The core astroML package requires the following (some of the functionality might work with older versions):

Optional Dependencies

Several of the example scripts require specialized or upgraded packages. These requirements are listed at the top of the particular scripts

  • HEALPy provides an interface to the HEALPix pixelization scheme, as well as fast spherical harmonic transforms.

Development

This package is designed to be a repository for well-written astronomy code, and submissions of new routines are encouraged. After installing the version-control system Git, you can check out the latest sources from GitHub using:

git clone git://github.com/astroML/astroML.git

or if you have write privileges:

git clone [email protected]:astroML/astroML.git

Contribution

We strongly encourage contributions of useful astronomy-related code: for astroML to be a relevant tool for the python/astronomy community, it will need to grow with the field of research. There are a few guidelines for contribution:

General

Any contribution should be done through the github pull request system (for more information, see the help page Code submitted to astroML should conform to a BSD-style license, and follow the PEP8 style guide.

Documentation and Examples

All submitted code should be documented following the Numpy Documentation Guide. This is a unified documentation style used by many packages in the scipy universe.

In addition, it is highly recommended to create example scripts that show the usefulness of the method on an astronomical dataset (preferably making use of the loaders in astroML.datasets). These example scripts are in the examples subdirectory of the main source repository.

Authors

Package Author

Maintainer

Contributors

  • Alex Conley
  • Andreas Kopecky
  • Andrew Connolly
  • Asif Imran
  • Benjamin Alan Weaver
  • Brigitta Sipőcz
  • Chris Desira
  • Daniel Andreasen
  • Dino Bektešević
  • Edward Betts
  • Hans Moritz Günther
  • Hugo van Kemenade
  • Jake Vanderplas
  • Jeremy Blow
  • Jonathan Sick
  • Joris van Vugt
  • Juanjo Bazán
  • Julian Taylor
  • Lars Buitinck
  • Michael Radigan
  • Morgan Fouesneau
  • Nicholas Hunt-Walker
  • Ole Streicher
  • Pey Lian Lim
  • Rodrigo Nemmen
  • Ross Fadely
  • Vlad Skripniuk
  • Zlatan Vasović
  • Engineero
  • stonebig

astroml.github.com's People

Contributors

bkmgit avatar bsipocz avatar jakevdp avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

astroml.github.com's Issues

Add links over figure numbers

We have 2, and in some cases 3 versions for the figures. The book editions are available from the drop downs, but it would be best to have way to navigate between the versions on the figure level, too.

E.g. turn the figure number, at top of each page, to a menu of 3 links that points to the different versions gone into the print.

Add new textbook to the webpage

@ivezic - I think we should update the images and mentions of the textbook on the webpage, as well as maybe some new text.

Do you have a preference for the timing? (e.g. only do after Dec 3, or now)? Any preference for new text?

Set up sphinx-gallery for binder deployment of notebooks

Scikit-learn has a rather nice way to deploy examples from the docs with binder.

I think we don't even need the gallery part of the plugin just the deployment, but in either case this needs a bit more experimenting to get it right.

Refactor webpage layout

Would be nice to rethink and redesign the webpage a bit to clean up the layout, etc as currently there isn't an easy way to host multiple versions of the docs, etc.

We can again follow the strategy and design of upstream packages, scikit-learn has changed their landing page since we got their layout, as well as numpy currently is undergoing a webpage redesign.

Fix dropdown CSS

There is some ugliness in the dropdown CSS (overflow at the bottom of the box, and some weirdness at the lower part of the text)

Screen Shot 2019-08-08 at 16 34 39

Auto build and deployment of the website

The website deployment should be triggered by changes to affected parts of the source. The challenge is that the website components are hosted in 3 separate repos while deployed into this one:

  • astroML/astroML
  • astroML/astroML-figures
  • astroML/astroML-notebooks

The build scripts are in the library doc itself, but those can be moved over here if needed. Rendered outputs from the previous build should be used as building everything from zero takes too much time. The two possible avenues I see are:

  • have one job, run from cron e.g. daily that runs in this repo, fetches the latest versions of the components and builds and deploys the website if there are any changes.
  • cross trigger builds with GH actions. I have yet to find a closeby project that did this, but this discussion should be enough for a start https://github.community/t/triggering-by-other-repository/16163

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.