Difference between revisions of "Software Projects"

From SCECpedia
Jump to navigationJump to search
 
(24 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
* https://docs.python-guide.org/writing/structure/
 
* https://docs.python-guide.org/writing/structure/
 
* http://nsls-ii.github.io/scientific-python-cookiecutter/philosophy.html
 
* http://nsls-ii.github.io/scientific-python-cookiecutter/philosophy.html
* https://producingoss.com/en/index.html Producing Open-Source Software
 
* https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1006561
 
  
 
== Developing Effective Python Documentation ==
 
== Developing Effective Python Documentation ==
 +
* https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1006561
 
* https://realpython.com/documenting-python-code/
 
* https://realpython.com/documenting-python-code/
 +
* https://divio.com/blog/documentation
 +
* https://www.writethedocs.org/guide/
 +
 +
[[Image:Screen Shot 2020-04-06 at 2.55.46 PM.png|right|150px]]
  
 
== Open Source Software Practices ==
 
== Open Source Software Practices ==
 +
* https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002802
 +
* https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745
 +
* https://producingoss.com/en/index.html Producing Open-Source Software
 
* http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html
 
* http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html
 
* https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
 
* https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
* https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002802
+
* https://github.com/agu-ossi/2019-agu-oss
* https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745
+
* https://joss.theoj.org/
  
 
== Open Source Software Licenses ==
 
== Open Source Software Licenses ==
Line 21: Line 27:
  
 
== USGS Software and Data Acceptance Criteria ==
 
== USGS Software and Data Acceptance Criteria ==
 +
* https://www.usgs.gov/about/organization/science-support/survey-manual/im-osqi-2019-01-review-and-approval-scientific
 
* https://www.usgs.gov/about/organization/science-support/science-quality-and-integrity/fundamental-science-practices
 
* https://www.usgs.gov/about/organization/science-support/science-quality-and-integrity/fundamental-science-practices
 
* https://www.usgs.gov/about/organization/science-support/office-science-quality-and-integrity/acceptable-digital
 
* https://www.usgs.gov/about/organization/science-support/office-science-quality-and-integrity/acceptable-digital
 
* https://code.gov/#/
 
* https://code.gov/#/
 
== Software Ecosystem ==
 
* https://www.slideshare.net/balaiyer/software-ecosystem-visualization-methodology
 
  
 
== Developing a Community ==
 
== Developing a Community ==
Line 36: Line 40:
 
* https://www.nature.com/news/the-unsung-heroes-of-scientific-software-1.19100
 
* https://www.nature.com/news/the-unsung-heroes-of-scientific-software-1.19100
 
* https://bssw.io/
 
* https://bssw.io/
 +
* https://www.nature.com/articles/d41586-019-02046-0
 +
* https://medium.com/cardstack/growing-a-healthy-software-ecosystem-746c3f7eefb1
  
 
== Defining Interfaces ==
 
== Defining Interfaces ==
Line 41: Line 47:
 
* https://earthquake.usgs.gov/fdsnws/event/1/
 
* https://earthquake.usgs.gov/fdsnws/event/1/
 
* https://service.iris.edu/
 
* https://service.iris.edu/
 +
* https://www.openapis.org/
  
 
== Data Management Systems ==
 
== Data Management Systems ==
 
* https://www2.cisl.ucar.edu/dash
 
* https://www2.cisl.ucar.edu/dash
 +
* http://schema.org/
 +
* https://www.slideshare.net/balaiyer/software-ecosystem-visualization-methodology
 +
* https://12factor.net/
  
 
== Continuous Testing Links ==
 
== Continuous Testing Links ==
 +
* https://bssw.io/blog_posts/adopting-continuous-integration-for-long-timescale-materials-simulation
 
* https://www.blazemeter.com/blog/how-to-integrate-your-github-repository-to-your-jenkins-project/
 
* https://www.blazemeter.com/blog/how-to-integrate-your-github-repository-to-your-jenkins-project/
  
Line 52: Line 63:
 
* https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
 
* https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
 
* https://github.com/danielskatz/sustaining-research-projects
 
* https://github.com/danielskatz/sustaining-research-projects
 +
* https://geodynamics.org/cig/dev/best-practices/
  
 
== Example Projects ==
 
== Example Projects ==
 
* https://wrench-project.org/
 
* https://wrench-project.org/
 
* https://yt-project.org
 
* https://yt-project.org
 +
 +
== Standard Practices ==
 +
SCEC is standardized software project practices:
 +
* Standard elements in git repo (readme.md, license.txt, authors etc)
 +
* Standard git repo organization to support open-source releases and automated testing
 +
* Connecting git project to run tests on commit
 +
* Process of contributing new releases to pypi, conda (conda-forge)
  
 
== Related Entries ==
 
== Related Entries ==
 
*[[CME_Project]]
 
*[[CME_Project]]
 +
*[[CSEP Working Group]]
 +
* Design codes and distribution as python modules, packages (and libraries if that term is used)
 +
* Potential build and deploy tools (ansible, others?)

Latest revision as of 22:07, 7 April 2020

Collection of links related to creating software distributions

Packaging Python Projects

Developing Effective Python Documentation

Screen Shot 2020-04-06 at 2.55.46 PM.png

Open Source Software Practices

Open Source Software Licenses

USGS Software and Data Acceptance Criteria

Developing a Community

Defining Interfaces

Data Management Systems

Continuous Testing Links

Software Release Practices

Example Projects

Standard Practices

SCEC is standardized software project practices:

  • Standard elements in git repo (readme.md, license.txt, authors etc)
  • Standard git repo organization to support open-source releases and automated testing
  • Connecting git project to run tests on commit
  • Process of contributing new releases to pypi, conda (conda-forge)

Related Entries

  • CME_Project
  • CSEP Working Group
  • Design codes and distribution as python modules, packages (and libraries if that term is used)
  • Potential build and deploy tools (ansible, others?)