Browse wiki

From CSDMS
Do you have code that you'd like to share Do you have code that you'd like to share with others—maybe you've written a model for your thesis, or perhaps you're required to do so by a journal—but you're not sure of the best way to go about it? We'll try to address this problem in this clinic. We'll use Python because it's the standard language of CSDMS; however, much of what we show can be translated to other languages.</br></br></br>This clinic has two parts. First, we'll show how to properly package Python code so that it can easily be used by others. Second, we'll configure a GitHub repository with files and services that will help make the code FAIR and sustainable over time—a "community-ready" repository.</br></br>The following topics address what could be included in such a repository. While we probably won't be able to cover all of these in the clinic, we list them for reference.</br></br>* Writing an informative README (and adding status badges!)</br>* Choosing a software license</br>* Packaging, using guidance from the Python Packaging Authority (PyPA)</br>* Automating repository tasks with nox</br>* Linting with black, flake8, and pre-commit</br>* Unit testing with pytest</br>* Continuous integration with GitHub Actions</br>* Building documentation with sphinx</br>* Adding a Digital Object Identifier (DOI) with Zenodo</br>* Creating a citation file with cffinit</br>* Including instructions for contributors, and a code of conduct</br>* Crediting contributors</br>* Acknowledging funding support</br></br>References will be provided for each topic for further exploration.</br></br>Participants will leave with a clear, practical template for sharing scientific software in a way that supports reuse, citation, and long-term community engagement.ation, and long-term community engagement.  +
United States  +
mark.piper@colorado.edu  +
CSDMS 2026: Modeling Landscapes in Motion  +
Eric  +  and Tian  +
Hutton  +  and Gan  +
Colorado  +
How Can I Share My Code? Building a Community-Ready Scientific Software Repository  +
United States  +
Creation date"Creation date" is a predefined property that corresponds to the date of the first revision of a subject and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
21:56:47, 9 January 2026  +
Has query"Has query" is a predefined property that represents meta information (in form of a <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Subobject">subobject</a>) about individual queries and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
Last editor is"Last editor is" is a predefined property that contains the page name of the user who created the last revision and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
Modification date"Modification date" is a predefined property that corresponds to the date of the last modification of a subject and is provided by <a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.semantic-mediawiki.org/wiki/Help:Special_properties">Semantic MediaWiki</a>.
02:06:14, 12 January 2026  +
software sustainability  +, version control  +, FAIR  +  and Python  +
Terrestrial Working Group  +, Coastal Working Group  +, Marine Working Group  +, Education and Knowledge Transfer (EKT) Working Group  +, Cyberinformatics and Numerics Working Group  +, Hydrology Focus Research Group  +, Chesapeake Focus Research Group  +, Critical Zone Focus Research Group  +, Human Dimensions Focus Research Group  +, Geodynamics Focus Research Group  +, Ecosystem Dynamics Focus Research Group  +, Coastal Vulnerability Initiative  +, Continental Margin Initiative  +, Artificial Intelligence & Machine Learning Initiative  +, Modeling Platform Interoperability Initiative  +  and River Network Modeling Initiative  +