Code Monkey home page Code Monkey logo

chun_codes's Introduction

👋. I'm Chun!

ORCID

Background

🔭 I'm a research astrophysicist by trade for twenty years.

Currently I work at the Princeton University Plasma Physics Laboratory as a Research Data Developer.

These days, I build Python software for:

  1. Data analysis and visualization
  2. Supporting open-access initiatives such as data and article publishing

Open source development

I enjoy coming up with new coding projects in my free time. Most recently I made or am working on:

  1. A streamlit app to interact with U.Arizona public salary data: https://sapp4ua.herokuapp.com
  2. A GitHub Docker container action to gather GitHub traffic statistics and publish them static pages on GitHub Pages or on a web server: https://astrochun.github.io/github-stats
  3. A webscraping tool to extract voting records from VoxCharta.
  4. A Python tool to properly handle BibTeX records for my Hugo Academic site

U.Arizona and the ReDATA project

Previously I was the lead developer for the following software while working at U.Arizona on the ReDATA project:

  1. redata-docs - Sphinx documentation on the ReDATA software and systems.
  2. LD-Cool-P - Pure Python tool for data curation of figshare for Institutions submissions.
  3. ldcoolp-figshare - A generalized pure Python tool for data curators/administrators to interact with their figshare for Institutions instance through the figshare API.
  4. ReQUIAM - Pure Python tool for Grouper identity and access management.
  5. figstats - Pure Python tool to retrieve statistics of published datasets from the figshare stats API.
  6. redata-commons - Pure python libraries for all ReDATA software.
  7. ReM - A FastAPI web app for the construction of README.txt for ReDATA submissions.

Astrophysics software development

As a research scientist, I built a number of software for astronomical data reduction. This includes:

  1. MMTtools - Pure Python tool to automate MMT/MMIRS data reduction. You can read more here.
  2. GNIRSLongSlit - Python tool to reduce Gemini/GNIRS data. You can read more here.

More information can be found on my GitHub page.

astrochun's GitHub stats

Most Used Languages

chun_codes's People

Contributors

astrochun avatar

Watchers

 avatar  avatar

chun_codes's Issues

Use GitHub Actions for CI

Because of the change in pricing model by Travis CI for open-source software, it becomes cost prohibitive to use Travis CI moving forward.

Thus, we should migrate to using GitHub actions for CI and build tests.

This doc page and the GitHub Action YAML is a starting point:
https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python

We can start with this but not include python 2.7.
Will need to include other dependencies such as chun_codes and pytest-cov.

This might be useful for testing purposes before committing the github actions:
https://github.com/nektos/act

We should require a skip if "ci skip" or "skip ci"

Action items:

  • Create a python-package GitHub Actions workflow
  • Add option to prevent skip CI with "ci skip" or "skip ci. See this
  • Disable certain files
  • GitHub Actions badge in README.md
  • Include tests for cardelli module

Implemented in: feature/gh_actions_build_test

Install fails with setup.py

Attempting to clone and build the code with Travis CI gave the following error:

$ python setup.py -q install
"warning: install_lib: 'build/lib' does not exist -- no Python modules to install"

Add PyPI GitHub Actions

The following changes for improvements

  • Add auto-packaging through GitHub Actions
  • Add TEST_PYPI_TOKEN and PYPI_TOKEN
  • Add badge for pypi version
  • Add additional badges
    • license
    • python compatibility
  • Update README.md to describe PyPI installation

Crash on use of intersect_ndim

Received the following error:

/codes/python/chun_codes/__init__.pyc in intersect_ndim(a, b, shape0)
    114     ravel_b = np.ravel_multi_index(b, shape0)
    115     ab_union = intersect(ravel_a, ravel_b)
--> 116     return np.unravel_index(ab_union, shape0)
    117 
    118 

TypeError: Iterator operand 0 dtype could not be cast from dtype('float64') to dtype('int64') according to the rule 'same_kind'

I believe the problem has to do with an empty array from ab_union. Thus some error handling is needed

GitHub badges

Need to include badges for the following:

  • Travis CI build status
  • Language
  • Latest release version
  • License
    

Clean and fix errors, PEP8

init.py still has some bad conventions. This needs to be clean up for:

  1. PEP8 compatibility
  2. Removal of comments
  3. Fix undefined cases
    

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.