{"id":27303125,"url":"https://github.com/guillermo-carrasco/bestpracticesworkshop","last_synced_at":"2025-04-12T02:50:09.288Z","repository":{"id":14204709,"uuid":"16911380","full_name":"guillermo-carrasco/BestPracticesWorkshop","owner":"guillermo-carrasco","description":"Repository for the workshop \"Best practices on development\"","archived":false,"fork":false,"pushed_at":"2015-03-19T13:47:45.000Z","size":70584,"stargazers_count":14,"open_issues_count":0,"forks_count":20,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-23T16:42:31.395Z","etag":null,"topics":["best-practices","development","python","teaching","workshop","workshop-materials"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guillermo-carrasco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-17T11:55:21.000Z","updated_at":"2022-03-26T02:09:26.000Z","dependencies_parsed_at":"2022-08-30T04:41:53.900Z","dependency_job_id":null,"html_url":"https://github.com/guillermo-carrasco/BestPracticesWorkshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillermo-carrasco%2FBestPracticesWorkshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillermo-carrasco%2FBestPracticesWorkshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillermo-carrasco%2FBestPracticesWorkshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillermo-carrasco%2FBestPracticesWorkshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guillermo-carrasco","download_url":"https://codeload.github.com/guillermo-carrasco/BestPracticesWorkshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248509096,"owners_count":21115936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["best-practices","development","python","teaching","workshop","workshop-materials"],"created_at":"2025-04-12T02:50:08.733Z","updated_at":"2025-04-12T02:50:09.282Z","avatar_url":"https://github.com/guillermo-carrasco.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Best Practices on Development Workshop\n\nMaterial for the workshop on Best Practices on Development hosted at Science\nFor Life Laboratory, Stockholm, Sweden.\n\n## Homework: To Read and Install Before the Workshop\n###Git \u0026 GitHub\n\n#### Read first\n* [Understanding GitHub workflow](http://guides.github.com/overviews/flow/)\n* [Forking projects](http://guides.github.com/overviews/forking/)\n\n#### Read second\n* [15 minutes hands-on Git tutorial](http://try.github.io/levels/1/challenges/1)\n* [Mastering issues](http://guides.github.com/overviews/issues/)\n\n#### Optional but useful\n* [Master Markdown](http://guides.github.com/overviews/mastering-markdown/)\n\n###Python et al\n##### Virtual Environments with anaconda\nVirtual environments allow you to maintain and switch quickly between\ndifferent sets of python binaries and packages.\nFor example, you can work on a project which requires python 2.6 and numpy 1.7\nwhile also maintaining a project which requires python 2.7 and numpy 1.8.\nBecause packages are installed inside your home directory, virtual environments\nalso allow you to install python packages without root permissions (as we must\non UPPMAX).\n\n[conda](http://conda.pydata.org/docs/) is a tool to create these isolated\nvirtual environments as well as a fantastic package management tool. It allows\nsimple installation of complex scientific packages (scipy, numpy, pandas, etc.)\nvia the meta-package [Anaconda](https://store.continuum.io/cshop/anaconda/),\nand works together with other package mangers like pip.\n\n[Here](DOCS/conda_howto.md) you can find a really good guide written by Mario Giovacchini about\ninstallation and usage of Ana/conda.\n\n## Workshop Material\n\n**Index:**\n\n* [Styling Standards](DOCS/styling.md)\n    * [4 spaces per indentation level](DOCS/styling.md#4-spaces-per-indentation-level)\n    * [Indentation of Multi-Line Statements](DOCS/styling.md#indentation-of-multi-line-statements)\n    * [Maximum line length (soft rule)](DOCS/styling.md#maximum-line-length-soft-rule)\n    * [Imports](DOCS/styling.md#imports)\n    * [Whitespace in Expressions and Statements](DOCS/styling.md#whitespace-in-expressions-and-statements)\n    * [Comments](DOCS/styling.md#comments)\n        * [How to Think About Comments](DOCS/styling.md#how-to-think-about-comments)\n        * [Comment formatting](DOCS/styling.md#comment-formatting)\n        * [Inline comments](DOCS/styling.md#inline-comments)\n        * [Documentation strings - Docstrings](DOCS/styling.md#documentation-strings-docstrings)\n    * [Naming conventions](DOCS/styling.md#naming-conventions)\n    * [Other programming recommendations](DOCS/styling.md#other-programming-recommendations)\n* [IPython](DOCS/ipython.md)\n* [Debugger](DOCS/ipdb.md)\n    * [(i)pdb useful commands](DOCS/ipdb.md#ipdb-useful-commands)\n* [Testing](DOCS/testing.md)\n* [Advanced Git](DOCS/git_advanced.md)\n\n-----------\n\n[![Build Status](https://travis-ci.org/guillermo-carrasco/BestPracticesWorkshop.png?branch=master)](https://travis-ci.org/guillermo-carrasco/BestPracticesWorkshop)\n\n###Development workflow at Science For Life Laboratory\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/guillermo-carrasco/BestPracticesWorkshop/master/images/development_workflow.png\"\n       alt=\"Development workflow at SciLifeLab\"/\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguillermo-carrasco%2Fbestpracticesworkshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguillermo-carrasco%2Fbestpracticesworkshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguillermo-carrasco%2Fbestpracticesworkshop/lists"}