Skip to content

Software engineering tips & tools for scientifists writing Python code

License

Notifications You must be signed in to change notification settings

kif/SE_training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SE_training

Software engineering tips & tools for scientists writing Python code

Initial idea from software carpentry: http://swcarpentry.github.io/slideshows/best-practices/index.html http://dx.doi.org/10.1371/journal.pbio.1001745

  1. Structure the project

###1.1 Structure your code###

  • separate library from scripts
  • separate GUI from calculation
  • a word about licenses

###1.2 Coding convention###

  • Introduction to PEP8
  • Transition to Python3

###1.3 Use a version control system###

  • Git version control
  • Workflow enforced by GitHub
  1. Distribute the software

###2.1 setup.py and setuptools###

###2.2 Management of dependencies###

###2.3 Packages: wheels & deb###

###2.4 Fat binaries###

  1. Tests

###3.1 UnitTest module###

###3.2 Chain tests in testsuites###

###3.3 Continuous integration###

- Jenkins
- Travis-CI
- AppVeyor
  1. Documentation

###4.1 Different types of documentations###

- Abstract
- Installation
- Tutorial
- Generated API documentation

###4.3 ReStructuredText###

###4.2 Sphinx###

###4.3 Continuous documentation###

- ReadTheDocs.org

About

Software engineering tips & tools for scientifists writing Python code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published