Skip to content

Instantly share code, notes, and snippets.

@franTarkenton
Last active June 11, 2018 19:12
Show Gist options
  • Save franTarkenton/ae3652cd38f126de2c8799b3aac4e394 to your computer and use it in GitHub Desktop.
Save franTarkenton/ae3652cd38f126de2c8799b3aac4e394 to your computer and use it in GitHub Desktop.

Overview

Two events served as an impetus for trying to organize some python knowledge shareing within the BCGOV. The first was attending the BC Government GIS Community of practice event in Victoria (Fall 2017), and the other was attending the pyCascades conference. Report out on pycascades. In an attempt to keep this overview brief, attendance at these two events reminded me of the value of sharing knowledge and expertise.

The remainder of this document is a first kick at the cat in terms of promoting python knowledge sharing. Initially most of the topics are likely to be pretty simple, but its my hope that we can also bring in more advanced topics down the road.

Current Agenda

The following are topics that we are going to try to cover during 2018.

TOPIC: Intro to GIT / Github - COMPLETE - 6-11-2018

Link to files used for demo This is intended as an introduction to help get started with GIT. It is not going to be a comprehensive tutorial but hopefully just enough information to allow someone to get started using GIT.

Agenda for this Topic:

  • What is GIT?
  • How git differs from centralized source code management systems like (SVN)
  • Some basic Git Concepts
    • Repository
    • Commit
    • Staging
  • Remote vs Local repo
  • Fetch / Push / Pull
  • Working with Local Repository
  • Working with Remote Repositories
  • Best practices (fork / pull requests)

Thinking will do a demo showing how to do most of these things in Eclipse as well as from the commandline.

Extra Reading Tutorials:

TOPIC: Separation of Secrets

Obviously for sharing code this is important. Will do a demo of how we do this at DataBC.

TOPIC: Logging with Python

How to stop using the print statement. Overview of the builtin python logging system.

TOPIC: Dependency Management

How to handle third part dependencies:

  • Introduction to pip
  • Introduction to Virtualenv
  • Setting up a Virtualenv
  • how to defined project dependencies
  • how to install project dependencies

TOPIC: Linting

What's wrong with my code? How to install pylint, using pylint, integration of pylint with eclipse. Defining your own rules.

TOPIC: Unit Testing

How do I know if that change is gonna break something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment