1
+ {
2
+ "metadata" : {
3
+ "kernelspec" : {
4
+ "codemirror_mode" : {
5
+ "name" : " ipython" ,
6
+ "version" : 2
7
+ },
8
+ "display_name" : " IPython (Python 2)" ,
9
+ "language" : " python" ,
10
+ "name" : " python2"
11
+ },
12
+ "name" : " " ,
13
+ "signature" : " sha256:d3073baa9f8a050a7ae6616386382b6e189019b47ce0a3205bb089be53c07e9c"
14
+ },
15
+ "nbformat" : 3 ,
16
+ "nbformat_minor" : 0 ,
17
+ "worksheets" : [
18
+ {
19
+ "cells" : [
20
+ {
21
+ "cell_type" : " heading" ,
22
+ "level" : 1 ,
23
+ "metadata" : {},
24
+ "source" : [
25
+ " Using third-party libraries"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type" : " markdown" ,
30
+ "metadata" : {},
31
+ "source" : [
32
+ " Great programmers don't write all their code themselves. \n " ,
33
+ " \n " ,
34
+ " In fact, they write as little as possible, reusing whatever they can."
35
+ ]
36
+ },
37
+ {
38
+ "cell_type" : " heading" ,
39
+ "level" : 2 ,
40
+ "metadata" : {},
41
+ "source" : [
42
+ " Free and Open Source Software"
43
+ ]
44
+ },
45
+ {
46
+ "cell_type" : " markdown" ,
47
+ "metadata" : {},
48
+ "source" : [
49
+ " There is a lot of FOSS Python code out there. It's a treasure trove for your projects:\n " ,
50
+ " * Free to use, usually even commercially\n " ,
51
+ " * Open source means you can study/modify the code and contribute back\n " ,
52
+ " \n " ,
53
+ " Usually maintained by volunteers, so:\n " ,
54
+ " * When you use it, you're encouraged to contribute back\n " ,
55
+ " * Be extra-friendly and nice to people who aren't getting paid to help you\n " ,
56
+ " * If you use free Python libraries, consider creating free Python libraries too"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type" : " heading" ,
61
+ "level" : 2 ,
62
+ "metadata" : {},
63
+ "source" : [
64
+ " Where to Get Free Python Libraries"
65
+ ]
66
+ },
67
+ {
68
+ "cell_type" : " markdown" ,
69
+ "metadata" : {},
70
+ "source" : [
71
+ " * When you installed Python, it came with a **standard library**\n " ,
72
+ " * The Python Package Index has 50,000 free packages for you\n " ,
73
+ " * GitHub search\n " ,
74
+ " * Bitbucket search"
75
+ ]
76
+ },
77
+ {
78
+ "cell_type" : " heading" ,
79
+ "level" : 2 ,
80
+ "metadata" : {},
81
+ "source" : [
82
+ " Python Package Index"
83
+ ]
84
+ },
85
+ {
86
+ "cell_type" : " markdown" ,
87
+ "metadata" : {},
88
+ "source" : [
89
+ " Memorize this website URL and visit it every day:\n " ,
90
+ " https://pypi.python.org\n " ,
91
+ " \n " ,
92
+ " (screenshot)\n " ,
93
+ " \n " ,
94
+ " Sometimes referred to as \" The Cheese Shop\" because of Monty Python\n " ,
95
+ " \n " ,
96
+ " (photo)"
97
+ ]
98
+ },
99
+ {
100
+ "cell_type" : " heading" ,
101
+ "level" : 2 ,
102
+ "metadata" : {},
103
+ "source" : [
104
+ " Module vs. Package vs. Library"
105
+ ]
106
+ },
107
+ {
108
+ "cell_type" : " markdown" ,
109
+ "metadata" : {},
110
+ "source" : [
111
+ " TODO"
112
+ ]
113
+ },
114
+ {
115
+ "cell_type" : " heading" ,
116
+ "level" : 2 ,
117
+ "metadata" : {},
118
+ "source" : [
119
+ " Examples of Python Packages"
120
+ ]
121
+ },
122
+ {
123
+ "cell_type" : " markdown" ,
124
+ "metadata" : {},
125
+ "source" : [
126
+ " Here, we:\n " ,
127
+ " * Download package X from PyPI\n " ,
128
+ " * Import and use a function from X\n " ,
129
+ " \n " ,
130
+ " TODO\n " ,
131
+ " \n " ,
132
+ " ...\n " ,
133
+ " \n " ,
134
+ " ...\n " ,
135
+ " \n " ,
136
+ " (10 min using a package)"
137
+ ]
138
+ },
139
+ {
140
+ "cell_type" : " markdown" ,
141
+ "metadata" : {},
142
+ "source" : [
143
+ " What are GitHub, Gitlab, Bitbucket, Gitorious, Sourceforge, etc.?"
144
+ ]
145
+ },
146
+ {
147
+ "cell_type" : " markdown" ,
148
+ "metadata" : {},
149
+ "source" : [
150
+ " TODO"
151
+ ]
152
+ },
153
+ {
154
+ "cell_type" : " heading" ,
155
+ "level" : 3 ,
156
+ "metadata" : {},
157
+ "source" : [
158
+ " Example: Package X"
159
+ ]
160
+ },
161
+ {
162
+ "cell_type" : " markdown" ,
163
+ "metadata" : {},
164
+ "source" : [
165
+ " (10 min using another package)\n " ,
166
+ " \n " ,
167
+ " * Show its PyPI listing\n " ,
168
+ " * Show its GitHub repo\n " ,
169
+ " * Click through and show its files and docs"
170
+ ]
171
+ },
172
+ {
173
+ "cell_type" : " heading" ,
174
+ "level" : 3 ,
175
+ "metadata" : {},
176
+ "source" : [
177
+ " What is Version Control?"
178
+ ]
179
+ },
180
+ {
181
+ "cell_type" : " markdown" ,
182
+ "metadata" : {},
183
+ "source" : [
184
+ " TODO"
185
+ ]
186
+ },
187
+ {
188
+ "cell_type" : " heading" ,
189
+ "level" : 3 ,
190
+ "metadata" : {},
191
+ "source" : [
192
+ " DVCS and Collaboration"
193
+ ]
194
+ },
195
+ {
196
+ "cell_type" : " markdown" ,
197
+ "metadata" : {},
198
+ "source" : [
199
+ " TODO"
200
+ ]
201
+ },
202
+ {
203
+ "cell_type" : " heading" ,
204
+ "level" : 2 ,
205
+ "metadata" : {},
206
+ "source" : [
207
+ " What's in a Python Package?"
208
+ ]
209
+ },
210
+ {
211
+ "cell_type" : " markdown" ,
212
+ "metadata" : {},
213
+ "source" : [
214
+ " TODO"
215
+ ]
216
+ },
217
+ {
218
+ "cell_type" : " heading" ,
219
+ "level" : 2 ,
220
+ "metadata" : {},
221
+ "source" : [
222
+ " Using Third-Party Libraries in Projects"
223
+ ]
224
+ },
225
+ {
226
+ "cell_type" : " markdown" ,
227
+ "metadata" : {},
228
+ "source" : [
229
+ " Keeping track of requirements\n " ,
230
+ " \n " ,
231
+ " Avoiding dependency conflicts"
232
+ ]
233
+ },
234
+ {
235
+ "cell_type" : " markdown" ,
236
+ "metadata" : {},
237
+ "source" : []
238
+ }
239
+ ],
240
+ "metadata" : {}
241
+ }
242
+ ]
243
+ }
0 commit comments