Difference between revisions of "Software Projects"

From SCECpedia
Jump to navigationJump to search
(Created page with "Collection of links related to creating software distributions == Packaging Python Projects == * https://packaging.python.org/tutorials/packaging-projects/ * https://docs.pyt...")
 
 
(39 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
* https://packaging.python.org/tutorials/packaging-projects/
 
* https://packaging.python.org/tutorials/packaging-projects/
 
* https://docs.python-guide.org/writing/structure/
 
* https://docs.python-guide.org/writing/structure/
* https://opensource.guide/
+
* http://nsls-ii.github.io/scientific-python-cookiecutter/philosophy.html
* https://www.nature.com/articles/d41586-019-02046-0
 
* https://producingoss.com/en/index.html Producing Open-Source Software
 
* https://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1006561
 
 
 
== Software Ecosystem ==
 
* https://www.slideshare.net/balaiyer/software-ecosystem-visualization-methodology
 
  
 
== 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 ==
 +
* 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
 +
* https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/
 +
* https://github.com/agu-ossi/2019-agu-oss
 +
* https://joss.theoj.org/
  
 
== Open Source Software Licenses ==
 
== Open Source Software Licenses ==
Line 20: 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/#/
  
 
== Developing a Community ==
 
== Developing a Community ==
 +
* https://opensource.guide/
 
* https://dev.to/carlillo/how-to-reach-your-goals-1000-github-stars-in-the-first-open-source-software-337h
 
* https://dev.to/carlillo/how-to-reach-your-goals-1000-github-stars-in-the-first-open-source-software-337h
 
* https://www.altexsoft.com/blog/engineering/5-best-practices-for-managing-open-source-components/
 
* https://www.altexsoft.com/blog/engineering/5-best-practices-for-managing-open-source-components/
 
* https://dri.es/balancing-makers-and-takers-to-scale-and-sustain-open-source
 
* https://dri.es/balancing-makers-and-takers-to-scale-and-sustain-open-source
 +
* https://opensource.com/business/14/9/community-best-practices-new-era-open-source
 +
* https://www.nature.com/news/the-unsung-heroes-of-scientific-software-1.19100
 +
* 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 ==
 
* https://restful.io/rest-api-back-to-basics-c64f282d972
 
* https://restful.io/rest-api-back-to-basics-c64f282d972
 +
* https://earthquake.usgs.gov/fdsnws/event/1/
 +
* https://service.iris.edu/
 +
* https://www.openapis.org/
 +
 +
== Data Management Systems ==
 +
* 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/
 +
 +
== Software Release Practices ==
 +
* http://opensha.usc.edu/trac/wiki/ReleasingApplications
 +
* https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
 +
* https://github.com/danielskatz/sustaining-research-projects
 +
* https://geodynamics.org/cig/dev/best-practices/
 +
 +
== Example Projects ==
 +
* https://wrench-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?)