Skip to main content

MILKYWAY@HOME PYTHON PACKAGE (MWAHPY)

Copyright Tom Donlon, 2020 RPI

github user: thomasdonlon

Requires Python v.>3.2.3


MilkyWay@home is a computational astrophysics project located at RPI and run by Dr. Heidi Newberg. The project contains two main components, (i) the Separation Application and (ii) the N-body Application. I have worked with both, and over a few years have developed several useful bits of python code to supplement analysis and usage of MilkyWay@home. This code has been cleaned and organized here, so that others can benefit from the work I did and not have to spend time rewriting thing's I've already done.

The purpose of the mwahpy package is to provide a collection of useful tools for people working with/on the MilkyWay@home project at RPI. Ideally, the package will contain tools for both Separation and N-body, although that might not initially be the case.

In practice it would be good for this package to be updated along with the MilkyWay@home project and/or python updates after I'm gone. No clue if that's going to happen, but I plan on maintaining support at least through the spring of 2022 (while I'm in graduate school).

Issues with the package can be directed to my github profile or on the MilkyWay@home forums at milkyway.cs.rpi.edu. Improvements or additions are welcome, just send a pull request to the mwahpy github repository.

CONTENTS

A non-exhaustive list of contents of the package is given below:

  • easy importing of data from N-body output
  • easy manipulation of data after reading in
  • A variety of coordinate transformations for typical coordinate systems used in Galactic astronomy
  • easy visualization of the imported data through plotting functionality
  • a tutorial .pdf document along with documentation for each function in the package

INSTALLATION

FOR USERS:

  1. Open your terminal, and run

python3 -m pip install mwahpy

  1. Insert import statements for the subpackages that you want to use in your .py files:

import mwahpy.{mwahpy subpackage}

import mwahpy.{other mwahpy subpackage}

...

  1. Do science

FOR DEVELOPERS:

  1. Clone the mwahpy github repository

  2. Make the desired changes in the source code

  3. Navigate to the directory where you cloned the repo, and then run

python3 setup.py develop --user

(note, you will probably need to uninstall any previous versions of mwahpy you had on your machine before running this)

  1. To test your changes, insert import statements for the subpackages that you want to use in your .py files as you normally would:

import mwahpy.{mwahpy subpackage}

import mwahpy.{other mwahpy subpackage}

...

  1. Once you are done making changes to the source code, put in a pull request to master

  2. Navigate to the directory where you cloned the repo, and then run

python3 setup.py develop --uninstall

pip3 install mwahpy

Your changes will not be available in the main mwahpy build until a new release comes out.

TODO

MAJOR:

  • Expand plot capabilities
  • Finish refactoring coords.py
  • Finish unit testing of coordinate transformations
  • Refactor and polish orbit_fitting_gc.py

MINOR:

  • Apparently there's a MW@h readout method with a different number of values or different values than normally used? Should probably support that.
  • Inverse (cut out within range) subset_circ() & subset_rect() options
  • Implement better linear algebra to reduce the computation time of coords.get_rvpm()
  • Play around with turning off mwahpy_glob.verbose flag for some things to quiet unnecessary output

BUGS

  • output_handler.make_nbody_input() sometimes produces output that is unreadable by MilkyWay@home Nbody. It is believed that this is an issue with tab characters and different operating systems.

Release files for mwahpy 1.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mwahpy 1.3.5
File Size Uploaded
mwahpy-1.3.5.tar.gz 866.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mwahpy 1.3.5
File Interpreter ABI Platform
mwahpy-1.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 980.6 kB

Release files / mwahpy-1.3.5.tar.gz

Download URL mwahpy-1.3.5.tar.gz
Size 866.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f61a59b01e9831715ba3e85432b9f2e8979dadbfe99b5d157db4284979d61d7c
BLAKE2b-256 checksum
How to use checksums
6f2bb32e57f222111afb2b043da5b1941fae863f697e37c6e33d9ffbcc7d9f8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

Release files / mwahpy-1.3.5-py3-none-any.whl

Download URL mwahpy-1.3.5-py3-none-any.whl
Size 114.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f8f170b3897c865f5dd486a7ce6f1586c59fee5efbd23463485dda72b93b116a
BLAKE2b-256 checksum
How to use checksums
3d946d3b97ea29a3845f3fc8ae148c3a6324ecc7f0a3b69a95dbcc81ee58f5f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.9

Release history Release notifications | RSS feed

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

This release

1.3.5 This release

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page