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