Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
    Organization pnnl has institutional domain (www.pnnl.gov)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: pnnl
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 346 KB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 2
  • Open Issues: 4
  • Releases: 0
Created almost 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

potentially obsolete with pixi multienvs.

hydraconda pitch

technical: readme
presentation

NEED

Computation-based research is often messy, non-linear, and highly exploratory. At the same time, there is a need for developed code to be reproducible for scientific integrity and to aid collaboration. Furthermore, long-term maintainability of computation-based projects benefit from modularization.

Software engineering tools can help but often involve an inappropriate level of formality and tool introduction; Creating programming-language specific 'libraries' of software to organize and distribute code is often too cumbersome and unnecessary. The first concern of scientific software is often just reproduciblity. How can computational code be advanced without getting bogged down by software engineering rigor?

Note: One needs to also manage code (itself) as well as data for more thorough reproducibility. This effort only addresses managing computational environments. Managing code (itself) and data are essentially solved problems that can be addressed with established tools.

APPROACH

Develop a way of creating composable functionality by organizing reproducible computational environments (instead of focusing on organizing functionality as programming-language specific 'libraries' of code). Environments are a more accommodating 'container' of software that can be made to 'compose' in advantageous ways.

BENEFIT

The benefit of the approach derives from the ability to have multiple, yet related, reproducible environments coexisting (thus cooperating). This (one) approach can yield the following interesting functionality:

  • High-level data processing: each 'stage' in the data 'pipeline' can be its own environment that is quite different from other stages
  • Controlled Notebook computing: The main computational notebook program (such as Jupyter) can be in its own (centrally-managed) environment while computation kernels can exist in separate environments
  • Reduces the need to containerize. Sophisticated setups can be made without having to 'Dockerize' as the computational environment is the container.
  • Accommodates heterogeneous computation. By managing executables in environments, there is no technical reason to insist on having one computation system. For example, R and Python can be in the same or different environments; the focus is on establishing a certain functionality in an environment regardless of the execution system.
  • Lightweight modularization. Code modularization can be addressed as a matter of just configuration instead of having to worry about creating a 'library' (for distribution). A project can advance by modularizing code as needed.
  • Easy deployments to cloud. Since the organization is reproducible, tapping into cloud resources uses the same code as local execution.

In general, the above benefits translate into higher productivity, scientific integrity, and collaboration especially for long-running projects. In a way, each project can assemble and establish its own 'platform' using external resources (like cloud) and/or proprietary tools only as needed.

COMPETITION

Software build system exist to create 'packages' (to install in a given environment) but not to build related environments.

SUCCESS CRITERIA

A computational researcher should be able to issue only a few commands in order to acquire a 'baseline' of general functionality for his or her project. This can then be easily extended by learning about the framework through documentation.

Owner

  • Name: Pacific Northwest National Laboratory (Public)
  • Login: pnnl
  • Kind: organization
  • Email: dev-central@pnnl.gov
  • Location: United States of America

This Org is intended for the hosting of approved released PNNL software repositories for public use and collaboration.

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Hydraconda
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Majid
    family-names: alDosari
    name-suffix: ''''
    orcid: 'https://orcid.org/0000-0002-1236-2960'
repository-code: 'https://github.com/pnnl/hydraconda'
abstract: >-
  A framework for developing scientific computing codes for
  projects was developed that accommodates both explorations
  as well as, simultaneously, software engineering rigor.
  This is accomplished by organizing modular yet composable
  and related computational environments. Also known as
  Management of Multiple Computational Environments.

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 352
  • Total Committers: 2
  • Avg Commits per committer: 176.0
  • Development Distribution Score (DDS): 0.003
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Majid alDosari m****b@y****m 351
PNNL Developer Central d****l 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 4
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • majidaldo (4)
Pull Request Authors
  • majidaldo (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Dockerfile docker
  • ${BLD_BASE_IMG} latest build
environment.yml pypi