Skip to content

Software

You’ve come to the heart of the matter! This software page details examples of support that we offer directly related to software.

Development

If you are just starting with the development of a library, we can help! Whether it’s Python, GoLang, R, Ruby, Bash, or another language that you are using, we can help you to create your first repository from scratch. Examples of software work might include:

  • Working on existing or new code bases
  • Python 2.x to 3.x conversion
  • Plugins for existing frameworks (Open OnDemand, Discourse, etc)
  • Dockerized web applications with Django, Flask, or similar framework
  • C++ and Fortran Python Extensions

Packages

Do you have a script, or the start of a package, and you want some help? We can help to solidify the creation of packages so that others can easily test.

  • Creation of Python, R, or other Packages
  • Review of package metadata or release cycle

Testing

Testing and continuous integration is an essential part of software development, but it’s often overlooked due to time constaints. We can help.

  • Setting up TravisCI, CircleCI, or other CI service
  • Writing unit or integration tests for software
  • Setting up scheduled (or cron) jobs using a CI framework
  • Build and deploy pipelines for software release

Containerization

Containers such as Docker and Singularity are becoming the new unit for reproducible science. If you have a code base that you would like containerized, we can quickly do it.

  • Docker (Dockerfile) development
  • Singularity container development
  • Other container technology that might be needed

Documentation

Documentation is essential for the usability of your software, but it’s hard! Along with jekyll templates that we’ve developed for you to use, we can also help you to create your documentation base. Examples of documentation work might include:

  • Writing documentation for install, usage, and development of existing software
  • Generating new tutorials, notebooks, or similar content for teaching
  • Development of custom GitHub pages templates for software
  • Interactive portals for other use using JavaScript, Vue.js, or similar

We can take on the task to create your documentation, or develop a custom template for you.

If you’d like to ask a question or request help, please open an issue.