Browse Source

cooookies

ladyada 11 months ago
parent
commit
673539edc6
16 changed files with 881 additions and 1 deletions
  1. 6
    0
      .gitignore
  2. 433
    0
      .pylintrc
  3. 3
    0
      .readthedocs.yml
  4. 32
    0
      .travis.yml
  5. 74
    0
      CODE_OF_CONDUCT.md
  6. 21
    0
      LICENSE
  7. 0
    1
      README.md
  8. 60
    0
      README.rst
  9. 34
    0
      adafruit_blinka.py
  10. BIN
      docs/_static/favicon.ico
  11. 8
    0
      docs/api.rst
  12. 150
    0
      docs/conf.py
  13. 8
    0
      docs/examples.rst
  14. 51
    0
      docs/index.rst
  15. 0
    0
      examples/blinka_simpletest.py
  16. 1
    0
      requirements.txt

+ 6
- 0
.gitignore View File

@@ -0,0 +1,6 @@
1
+__pycache__
2
+_build
3
+*.pyc
4
+.env
5
+build*
6
+bundles

+ 433
- 0
.pylintrc View File

@@ -0,0 +1,433 @@
1
+[MASTER]
2
+
3
+# A comma-separated list of package or module names from where C extensions may
4
+# be loaded. Extensions are loading into the active Python interpreter and may
5
+# run arbitrary code
6
+extension-pkg-whitelist=
7
+
8
+# Add files or directories to the blacklist. They should be base names, not
9
+# paths.
10
+ignore=CVS
11
+
12
+# Add files or directories matching the regex patterns to the blacklist. The
13
+# regex matches against base names, not paths.
14
+ignore-patterns=
15
+
16
+# Python code to execute, usually for sys.path manipulation such as
17
+# pygtk.require().
18
+#init-hook=
19
+
20
+# Use multiple processes to speed up Pylint.
21
+# jobs=1
22
+jobs=2
23
+
24
+# List of plugins (as comma separated values of python modules names) to load,
25
+# usually to register additional checkers.
26
+load-plugins=
27
+
28
+# Pickle collected data for later comparisons.
29
+persistent=yes
30
+
31
+# Specify a configuration file.
32
+#rcfile=
33
+
34
+# Allow loading of arbitrary C extensions. Extensions are imported into the
35
+# active Python interpreter and may run arbitrary code.
36
+unsafe-load-any-extension=no
37
+
38
+
39
+[MESSAGES CONTROL]
40
+
41
+# Only show warnings with the listed confidence levels. Leave empty to show
42
+# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
43
+confidence=
44
+
45
+# Disable the message, report, category or checker with the given id(s). You
46
+# can either give multiple identifiers separated by comma (,) or put this
47
+# option multiple times (only on the command line, not in the configuration
48
+# file where it should appear only once).You can also use "--disable=all" to
49
+# disable everything first and then reenable specific checks. For example, if
50
+# you want to run only the similarities checker, you can use "--disable=all
51
+# --enable=similarities". If you want to run only the classes checker, but have
52
+# no Warning level messages displayed, use"--disable=all --enable=classes
53
+# --disable=W"
54
+# disable=import-error,print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call
55
+disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error
56
+
57
+# Enable the message, report, category or checker with the given id(s). You can
58
+# either give multiple identifier separated by comma (,) or put this option
59
+# multiple time (only on the command line, not in the configuration file where
60
+# it should appear only once). See also the "--disable" option for examples.
61
+enable=
62
+
63
+
64
+[REPORTS]
65
+
66
+# Python expression which should return a note less than 10 (10 is the highest
67
+# note). You have access to the variables errors warning, statement which
68
+# respectively contain the number of errors / warnings messages and the total
69
+# number of statements analyzed. This is used by the global evaluation report
70
+# (RP0004).
71
+evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
72
+
73
+# Template used to display messages. This is a python new-style format string
74
+# used to format the message information. See doc for all details
75
+#msg-template=
76
+
77
+# Set the output format. Available formats are text, parseable, colorized, json
78
+# and msvs (visual studio).You can also give a reporter class, eg
79
+# mypackage.mymodule.MyReporterClass.
80
+output-format=text
81
+
82
+# Tells whether to display a full report or only the messages
83
+reports=no
84
+
85
+# Activate the evaluation score.
86
+score=yes
87
+
88
+
89
+[REFACTORING]
90
+
91
+# Maximum number of nested blocks for function / method body
92
+max-nested-blocks=5
93
+
94
+
95
+[LOGGING]
96
+
97
+# Logging modules to check that the string format arguments are in logging
98
+# function parameter format
99
+logging-modules=logging
100
+
101
+
102
+[SPELLING]
103
+
104
+# Spelling dictionary name. Available dictionaries: none. To make it working
105
+# install python-enchant package.
106
+spelling-dict=
107
+
108
+# List of comma separated words that should not be checked.
109
+spelling-ignore-words=
110
+
111
+# A path to a file that contains private dictionary; one word per line.
112
+spelling-private-dict-file=
113
+
114
+# Tells whether to store unknown words to indicated private dictionary in
115
+# --spelling-private-dict-file option instead of raising a message.
116
+spelling-store-unknown-words=no
117
+
118
+
119
+[MISCELLANEOUS]
120
+
121
+# List of note tags to take in consideration, separated by a comma.
122
+# notes=FIXME,XXX,TODO
123
+notes=FIXME,XXX
124
+
125
+
126
+[TYPECHECK]
127
+
128
+# List of decorators that produce context managers, such as
129
+# contextlib.contextmanager. Add to this list to register other decorators that
130
+# produce valid context managers.
131
+contextmanager-decorators=contextlib.contextmanager
132
+
133
+# List of members which are set dynamically and missed by pylint inference
134
+# system, and so shouldn't trigger E1101 when accessed. Python regular
135
+# expressions are accepted.
136
+generated-members=
137
+
138
+# Tells whether missing members accessed in mixin class should be ignored. A
139
+# mixin class is detected if its name ends with "mixin" (case insensitive).
140
+ignore-mixin-members=yes
141
+
142
+# This flag controls whether pylint should warn about no-member and similar
143
+# checks whenever an opaque object is returned when inferring. The inference
144
+# can return multiple potential results while evaluating a Python object, but
145
+# some branches might not be evaluated, which results in partial inference. In
146
+# that case, it might be useful to still emit no-member and other checks for
147
+# the rest of the inferred objects.
148
+ignore-on-opaque-inference=yes
149
+
150
+# List of class names for which member attributes should not be checked (useful
151
+# for classes with dynamically set attributes). This supports the use of
152
+# qualified names.
153
+ignored-classes=optparse.Values,thread._local,_thread._local
154
+
155
+# List of module names for which member attributes should not be checked
156
+# (useful for modules/projects where namespaces are manipulated during runtime
157
+# and thus existing member attributes cannot be deduced by static analysis. It
158
+# supports qualified module names, as well as Unix pattern matching.
159
+ignored-modules=
160
+
161
+# Show a hint with possible names when a member name was not found. The aspect
162
+# of finding the hint is based on edit distance.
163
+missing-member-hint=yes
164
+
165
+# The minimum edit distance a name should have in order to be considered a
166
+# similar match for a missing member name.
167
+missing-member-hint-distance=1
168
+
169
+# The total number of similar names that should be taken in consideration when
170
+# showing a hint for a missing member.
171
+missing-member-max-choices=1
172
+
173
+
174
+[VARIABLES]
175
+
176
+# List of additional names supposed to be defined in builtins. Remember that
177
+# you should avoid to define new builtins when possible.
178
+additional-builtins=
179
+
180
+# Tells whether unused global variables should be treated as a violation.
181
+allow-global-unused-variables=yes
182
+
183
+# List of strings which can identify a callback function by name. A callback
184
+# name must start or end with one of those strings.
185
+callbacks=cb_,_cb
186
+
187
+# A regular expression matching the name of dummy variables (i.e. expectedly
188
+# not used).
189
+dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
190
+
191
+# Argument names that match this expression will be ignored. Default to name
192
+# with leading underscore
193
+ignored-argument-names=_.*|^ignored_|^unused_
194
+
195
+# Tells whether we should check for unused import in __init__ files.
196
+init-import=no
197
+
198
+# List of qualified module names which can have objects that can redefine
199
+# builtins.
200
+redefining-builtins-modules=six.moves,future.builtins
201
+
202
+
203
+[FORMAT]
204
+
205
+# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
206
+# expected-line-ending-format=
207
+expected-line-ending-format=LF
208
+
209
+# Regexp for a line that is allowed to be longer than the limit.
210
+ignore-long-lines=^\s*(# )?<?https?://\S+>?$
211
+
212
+# Number of spaces of indent required inside a hanging  or continued line.
213
+indent-after-paren=4
214
+
215
+# String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1
216
+# tab).
217
+indent-string='    '
218
+
219
+# Maximum number of characters on a single line.
220
+max-line-length=100
221
+
222
+# Maximum number of lines in a module
223
+max-module-lines=1000
224
+
225
+# List of optional constructs for which whitespace checking is disabled. `dict-
226
+# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\n222: 2}.
227
+# `trailing-comma` allows a space between comma and closing bracket: (a, ).
228
+# `empty-line` allows space-only lines.
229
+no-space-check=trailing-comma,dict-separator
230
+
231
+# Allow the body of a class to be on the same line as the declaration if body
232
+# contains single statement.
233
+single-line-class-stmt=no
234
+
235
+# Allow the body of an if to be on the same line as the test if there is no
236
+# else.
237
+single-line-if-stmt=no
238
+
239
+
240
+[SIMILARITIES]
241
+
242
+# Ignore comments when computing similarities.
243
+ignore-comments=yes
244
+
245
+# Ignore docstrings when computing similarities.
246
+ignore-docstrings=yes
247
+
248
+# Ignore imports when computing similarities.
249
+ignore-imports=no
250
+
251
+# Minimum lines number of a similarity.
252
+min-similarity-lines=4
253
+
254
+
255
+[BASIC]
256
+
257
+# Naming hint for argument names
258
+argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
259
+
260
+# Regular expression matching correct argument names
261
+argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
262
+
263
+# Naming hint for attribute names
264
+attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
265
+
266
+# Regular expression matching correct attribute names
267
+attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
268
+
269
+# Bad variable names which should always be refused, separated by a comma
270
+bad-names=foo,bar,baz,toto,tutu,tata
271
+
272
+# Naming hint for class attribute names
273
+class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
274
+
275
+# Regular expression matching correct class attribute names
276
+class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
277
+
278
+# Naming hint for class names
279
+# class-name-hint=[A-Z_][a-zA-Z0-9]+$
280
+class-name-hint=[A-Z_][a-zA-Z0-9_]+$
281
+
282
+# Regular expression matching correct class names
283
+# class-rgx=[A-Z_][a-zA-Z0-9]+$
284
+class-rgx=[A-Z_][a-zA-Z0-9_]+$
285
+
286
+# Naming hint for constant names
287
+const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
288
+
289
+# Regular expression matching correct constant names
290
+const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
291
+
292
+# Minimum line length for functions/classes that require docstrings, shorter
293
+# ones are exempt.
294
+docstring-min-length=-1
295
+
296
+# Naming hint for function names
297
+function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
298
+
299
+# Regular expression matching correct function names
300
+function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
301
+
302
+# Good variable names which should always be accepted, separated by a comma
303
+# good-names=i,j,k,ex,Run,_
304
+good-names=r,g,b,w,i,j,k,n,x,y,z,ex,ok,Run,_
305
+
306
+# Include a hint for the correct naming format with invalid-name
307
+include-naming-hint=no
308
+
309
+# Naming hint for inline iteration names
310
+inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
311
+
312
+# Regular expression matching correct inline iteration names
313
+inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
314
+
315
+# Naming hint for method names
316
+method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
317
+
318
+# Regular expression matching correct method names
319
+method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
320
+
321
+# Naming hint for module names
322
+module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
323
+
324
+# Regular expression matching correct module names
325
+module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
326
+
327
+# Colon-delimited sets of names that determine each other's naming style when
328
+# the name regexes allow several styles.
329
+name-group=
330
+
331
+# Regular expression which should only match function or class names that do
332
+# not require a docstring.
333
+no-docstring-rgx=^_
334
+
335
+# List of decorators that produce properties, such as abc.abstractproperty. Add
336
+# to this list to register other decorators that produce valid properties.
337
+property-classes=abc.abstractproperty
338
+
339
+# Naming hint for variable names
340
+variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
341
+
342
+# Regular expression matching correct variable names
343
+variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
344
+
345
+
346
+[IMPORTS]
347
+
348
+# Allow wildcard imports from modules that define __all__.
349
+allow-wildcard-with-all=no
350
+
351
+# Analyse import fallback blocks. This can be used to support both Python 2 and
352
+# 3 compatible code, which means that the block might have code that exists
353
+# only in one or another interpreter, leading to false positives when analysed.
354
+analyse-fallback-blocks=no
355
+
356
+# Deprecated modules which should not be used, separated by a comma
357
+deprecated-modules=optparse,tkinter.tix
358
+
359
+# Create a graph of external dependencies in the given file (report RP0402 must
360
+# not be disabled)
361
+ext-import-graph=
362
+
363
+# Create a graph of every (i.e. internal and external) dependencies in the
364
+# given file (report RP0402 must not be disabled)
365
+import-graph=
366
+
367
+# Create a graph of internal dependencies in the given file (report RP0402 must
368
+# not be disabled)
369
+int-import-graph=
370
+
371
+# Force import order to recognize a module as part of the standard
372
+# compatibility libraries.
373
+known-standard-library=
374
+
375
+# Force import order to recognize a module as part of a third party library.
376
+known-third-party=enchant
377
+
378
+
379
+[CLASSES]
380
+
381
+# List of method names used to declare (i.e. assign) instance attributes.
382
+defining-attr-methods=__init__,__new__,setUp
383
+
384
+# List of member names, which should be excluded from the protected access
385
+# warning.
386
+exclude-protected=_asdict,_fields,_replace,_source,_make
387
+
388
+# List of valid names for the first argument in a class method.
389
+valid-classmethod-first-arg=cls
390
+
391
+# List of valid names for the first argument in a metaclass class method.
392
+valid-metaclass-classmethod-first-arg=mcs
393
+
394
+
395
+[DESIGN]
396
+
397
+# Maximum number of arguments for function / method
398
+max-args=5
399
+
400
+# Maximum number of attributes for a class (see R0902).
401
+# max-attributes=7
402
+max-attributes=11
403
+
404
+# Maximum number of boolean expressions in a if statement
405
+max-bool-expr=5
406
+
407
+# Maximum number of branch for function / method body
408
+max-branches=12
409
+
410
+# Maximum number of locals for function / method body
411
+max-locals=15
412
+
413
+# Maximum number of parents for a class (see R0901).
414
+max-parents=7
415
+
416
+# Maximum number of public methods for a class (see R0904).
417
+max-public-methods=20
418
+
419
+# Maximum number of return / yield for function / method body
420
+max-returns=6
421
+
422
+# Maximum number of statements in function / method body
423
+max-statements=50
424
+
425
+# Minimum number of public methods for a class (see R0903).
426
+min-public-methods=1
427
+
428
+
429
+[EXCEPTIONS]
430
+
431
+# Exceptions that will emit a warning when being caught. Defaults to
432
+# "Exception"
433
+overgeneral-exceptions=Exception

+ 3
- 0
.readthedocs.yml View File

@@ -0,0 +1,3 @@
1
+python:
2
+    version: 3
3
+requirements_file: requirements.txt

+ 32
- 0
.travis.yml View File

@@ -0,0 +1,32 @@
1
+# This is a common .travis.yml for generating library release zip files for
2
+# CircuitPython library releases using circuitpython-build-tools.
3
+# See https://github.com/adafruit/circuitpython-build-tools for detailed setup
4
+# instructions.
5
+
6
+dist: trusty
7
+sudo: false
8
+language: python
9
+python:
10
+    - "3.6"
11
+
12
+cache:
13
+    pip: true
14
+
15
+deploy:
16
+  provider: releases
17
+  api_key: $GITHUB_TOKEN
18
+  file_glob: true
19
+  file: bundles/*
20
+  skip_cleanup: true
21
+  overwrite: true
22
+  on:
23
+    tags: true
24
+
25
+install:
26
+  - pip install pylint circuitpython-build-tools Sphinx sphinx-rtd-theme
27
+
28
+script:
29
+  - pylint adafruit_blinka.py
30
+  - ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py)
31
+  - circuitpython-build-bundles --filename_prefix adafruit-circuitpython-blinka --library_location .
32
+  - cd docs && sphinx-build -E -W -b html . _build/html

+ 74
- 0
CODE_OF_CONDUCT.md View File

@@ -0,0 +1,74 @@
1
+# Contributor Covenant Code of Conduct
2
+
3
+## Our Pledge
4
+
5
+In the interest of fostering an open and welcoming environment, we as
6
+contributors and maintainers pledge to making participation in our project and
7
+our community a harassment-free experience for everyone, regardless of age, body
8
+size, disability, ethnicity, gender identity and expression, level of experience,
9
+nationality, personal appearance, race, religion, or sexual identity and
10
+orientation.
11
+
12
+## Our Standards
13
+
14
+Examples of behavior that contributes to creating a positive environment
15
+include:
16
+
17
+* Using welcoming and inclusive language
18
+* Being respectful of differing viewpoints and experiences
19
+* Gracefully accepting constructive criticism
20
+* Focusing on what is best for the community
21
+* Showing empathy towards other community members
22
+
23
+Examples of unacceptable behavior by participants include:
24
+
25
+* The use of sexualized language or imagery and unwelcome sexual attention or
26
+advances
27
+* Trolling, insulting/derogatory comments, and personal or political attacks
28
+* Public or private harassment
29
+* Publishing others' private information, such as a physical or electronic
30
+  address, without explicit permission
31
+* Other conduct which could reasonably be considered inappropriate in a
32
+  professional setting
33
+
34
+## Our Responsibilities
35
+
36
+Project maintainers are responsible for clarifying the standards of acceptable
37
+behavior and are expected to take appropriate and fair corrective action in
38
+response to any instances of unacceptable behavior.
39
+
40
+Project maintainers have the right and responsibility to remove, edit, or
41
+reject comments, commits, code, wiki edits, issues, and other contributions
42
+that are not aligned to this Code of Conduct, or to ban temporarily or
43
+permanently any contributor for other behaviors that they deem inappropriate,
44
+threatening, offensive, or harmful.
45
+
46
+## Scope
47
+
48
+This Code of Conduct applies both within project spaces and in public spaces
49
+when an individual is representing the project or its community. Examples of
50
+representing a project or community include using an official project e-mail
51
+address, posting via an official social media account, or acting as an appointed
52
+representative at an online or offline event. Representation of a project may be
53
+further defined and clarified by project maintainers.
54
+
55
+## Enforcement
56
+
57
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+reported by contacting the project team at support@adafruit.com. All
59
+complaints will be reviewed and investigated and will result in a response that
60
+is deemed necessary and appropriate to the circumstances. The project team is
61
+obligated to maintain confidentiality with regard to the reporter of an incident.
62
+Further details of specific enforcement policies may be posted separately.
63
+
64
+Project maintainers who do not follow or enforce the Code of Conduct in good
65
+faith may face temporary or permanent repercussions as determined by other
66
+members of the project's leadership.
67
+
68
+## Attribution
69
+
70
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+[homepage]: http://contributor-covenant.org
74
+[version]: http://contributor-covenant.org/version/1/4/

+ 21
- 0
LICENSE View File

@@ -0,0 +1,21 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) 2017 cefn for adafruit industries
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.

+ 0
- 1
README.md View File

@@ -1 +0,0 @@
1
-# Adafruit_Micropython_CircuitPythonWrapper

+ 60
- 0
README.rst View File

@@ -0,0 +1,60 @@
1
+Introduction
2
+============
3
+
4
+.. image:: https://readthedocs.org/projects/adafruit-micropython-blinka/badge/?version=latest
5
+    :target: https://circuitpython.readthedocs.io/projects/blinka/en/latest/
6
+    :alt: Documentation Status
7
+
8
+.. image:: https://img.shields.io/discord/327254708534116352.svg
9
+    :target: https://discord.gg/nBQh6qu
10
+    :alt: Discord
11
+
12
+.. image:: https://travis-ci.org/adafruit/Adafruit_Micropython_Blinka.svg?branch=master
13
+    :target: https://travis-ci.org/adafruit/Adafruit__Micropython_Blinka
14
+    :alt: Build Status
15
+
16
+.. todo:: Describe what the library does.
17
+
18
+Dependencies
19
+=============
20
+This driver depends on:
21
+
22
+* Micropython
23
+
24
+Usage Example
25
+=============
26
+
27
+.. todo:: Add a quick, simple example. It and other examples should live in the examples folder and be included in docs/examples.rst.
28
+
29
+Contributing
30
+============
31
+
32
+Contributions are welcome! Please read our `Code of Conduct
33
+<https://github.com/adafruit/Adafruit_Micropython_Blinka/blob/master/CODE_OF_CONDUCT.md>`_
34
+before contributing to help this project stay welcoming.
35
+
36
+Building locally
37
+================
38
+
39
+Sphinx documentation
40
+-----------------------
41
+
42
+Sphinx is used to build the documentation based on rST files and comments in the code. First,
43
+install dependencies (feel free to reuse the virtual environment from above):
44
+
45
+.. code-block:: shell
46
+
47
+    python3 -m venv .env
48
+    source .env/bin/activate
49
+    pip install Sphinx sphinx-rtd-theme
50
+
51
+Now, once you have the virtual environment activated:
52
+
53
+.. code-block:: shell
54
+
55
+    cd docs
56
+    sphinx-build -E -W -b html . _build/html
57
+
58
+This will output the documentation to ``docs/_build/html``. Open the index.html in your browser to
59
+view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to
60
+locally verify it will pass.

+ 34
- 0
adafruit_blinka.py View File

@@ -0,0 +1,34 @@
1
+# The MIT License (MIT)
2
+#
3
+# Copyright (c) 2017 cefn for adafruit industries
4
+#
5
+# Permission is hereby granted, free of charge, to any person obtaining a copy
6
+# of this software and associated documentation files (the "Software"), to deal
7
+# in the Software without restriction, including without limitation the rights
8
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+# copies of the Software, and to permit persons to whom the Software is
10
+# furnished to do so, subject to the following conditions:
11
+#
12
+# The above copyright notice and this permission notice shall be included in
13
+# all copies or substantial portions of the Software.
14
+#
15
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+# THE SOFTWARE.
22
+"""
23
+`adafruit_Blinka`
24
+====================================================
25
+
26
+.. todo:: Describe what the module does
27
+
28
+* Author(s): cefn
29
+"""
30
+
31
+# imports
32
+
33
+__version__ = "0.0.0-auto.0"
34
+__repo__ = "https://github.com/adafruit/Adafruit_Micropython_Blinka.git"

BIN
docs/_static/favicon.ico View File


+ 8
- 0
docs/api.rst View File

@@ -0,0 +1,8 @@
1
+
2
+.. If you created a package, create one automodule per module in the package.
3
+
4
+.. If your library file(s) are nested in a directory (e.g. /adafruit_foo/foo.py)
5
+.. use this format as the module name: "adafruit_foo.foo"
6
+
7
+.. automodule:: adafruit_blinka
8
+   :members:

+ 150
- 0
docs/conf.py View File

@@ -0,0 +1,150 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+import os
4
+import sys
5
+sys.path.insert(0, os.path.abspath('..'))
6
+
7
+# -- General configuration ------------------------------------------------
8
+
9
+# Add any Sphinx extension module names here, as strings. They can be
10
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
11
+# ones.
12
+extensions = [
13
+    'sphinx.ext.autodoc',
14
+    'sphinx.ext.intersphinx',
15
+    'sphinx.ext.todo',
16
+]
17
+
18
+# Uncomment the below if you use native CircuitPython modules such as
19
+# digitalio, micropython and busio. List the modules you use. Without it, the
20
+# autodoc module docs will fail to generate with a warning.
21
+# autodoc_mock_imports = ["digitalio", "busio"]
22
+
23
+intersphinx_mapping = {'python': ('https://docs.python.org/3.4', None),'CircuitPython': ('https://circuitpython.readthedocs.io/en/latest/', None)}
24
+
25
+# Add any paths that contain templates here, relative to this directory.
26
+templates_path = ['_templates']
27
+
28
+source_suffix = '.rst'
29
+
30
+# The master toctree document.
31
+master_doc = 'index'
32
+
33
+# General information about the project.
34
+project = u'Adafruit Blinka Library'
35
+copyright = u'2017 cefn'
36
+author = u'cefn'
37
+
38
+# The version info for the project you're documenting, acts as replacement for
39
+# |version| and |release|, also used in various other places throughout the
40
+# built documents.
41
+#
42
+# The short X.Y version.
43
+version = u'1.0'
44
+# The full version, including alpha/beta/rc tags.
45
+release = u'1.0'
46
+
47
+# The language for content autogenerated by Sphinx. Refer to documentation
48
+# for a list of supported languages.
49
+#
50
+# This is also used if you do content translation via gettext catalogs.
51
+# Usually you set "language" from the command line for these cases.
52
+language = None
53
+
54
+# List of patterns, relative to source directory, that match files and
55
+# directories to ignore when looking for source files.
56
+# This patterns also effect to html_static_path and html_extra_path
57
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '.env', 'CODE_OF_CONDUCT.md']
58
+
59
+# The reST default role (used for this markup: `text`) to use for all
60
+# documents.
61
+#
62
+default_role = "any"
63
+
64
+# If true, '()' will be appended to :func: etc. cross-reference text.
65
+#
66
+add_function_parentheses = True
67
+
68
+# The name of the Pygments (syntax highlighting) style to use.
69
+pygments_style = 'sphinx'
70
+
71
+# If true, `todo` and `todoList` produce output, else they produce nothing.
72
+todo_include_todos = False
73
+
74
+# If this is True, todo emits a warning for each TODO entries. The default is False.
75
+todo_emit_warnings = True
76
+
77
+
78
+# -- Options for HTML output ----------------------------------------------
79
+
80
+# The theme to use for HTML and HTML Help pages.  See the documentation for
81
+# a list of builtin themes.
82
+#
83
+on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
84
+
85
+if not on_rtd:  # only import and set the theme if we're building docs locally
86
+    try:
87
+        import sphinx_rtd_theme
88
+        html_theme = 'sphinx_rtd_theme'
89
+        html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), '.']
90
+    except:
91
+        html_theme = 'default'
92
+        html_theme_path = ['.']
93
+else:
94
+    html_theme_path = ['.']
95
+
96
+# Add any paths that contain custom static files (such as style sheets) here,
97
+# relative to this directory. They are copied after the builtin static files,
98
+# so a file named "default.css" will overwrite the builtin "default.css".
99
+html_static_path = ['_static']
100
+
101
+# Output file base name for HTML help builder.
102
+htmlhelp_basename = 'AdafruitBlinkaLibrarydoc'
103
+
104
+# -- Options for LaTeX output ---------------------------------------------
105
+
106
+latex_elements = {
107
+     # The paper size ('letterpaper' or 'a4paper').
108
+     #
109
+     # 'papersize': 'letterpaper',
110
+
111
+     # The font size ('10pt', '11pt' or '12pt').
112
+     #
113
+     # 'pointsize': '10pt',
114
+
115
+     # Additional stuff for the LaTeX preamble.
116
+     #
117
+     # 'preamble': '',
118
+
119
+     # Latex figure (float) alignment
120
+     #
121
+     # 'figure_align': 'htbp',
122
+}
123
+
124
+# Grouping the document tree into LaTeX files. List of tuples
125
+# (source start file, target name, title,
126
+#  author, documentclass [howto, manual, or own class]).
127
+latex_documents = [
128
+    (master_doc, 'AdafruitBlinkaLibrary.tex', u'AdafruitBlinka Library Documentation',
129
+     author, 'manual'),
130
+]
131
+
132
+# -- Options for manual page output ---------------------------------------
133
+
134
+# One entry per manual page. List of tuples
135
+# (source start file, name, description, authors, manual section).
136
+man_pages = [
137
+    (master_doc, 'AdafruitBlinkalibrary', u'Adafruit Blinka Library Documentation',
138
+     [author], 1)
139
+]
140
+
141
+# -- Options for Texinfo output -------------------------------------------
142
+
143
+# Grouping the document tree into Texinfo files. List of tuples
144
+# (source start file, target name, title, author,
145
+#  dir menu entry, description, category)
146
+texinfo_documents = [
147
+    (master_doc, 'AdafruitBlinkaLibrary', u'Adafruit Blinka Library Documentation',
148
+     author, 'AdafruitBlinkaLibrary', 'One line description of project.',
149
+     'Miscellaneous'),
150
+]

+ 8
- 0
docs/examples.rst View File

@@ -0,0 +1,8 @@
1
+Simple test
2
+------------
3
+
4
+Ensure your device works with this simple test.
5
+
6
+.. literalinclude:: ../examples/blinka_simpletest.py
7
+    :caption: examples/blinka_simpletest.py
8
+    :linenos:

+ 51
- 0
docs/index.rst View File

@@ -0,0 +1,51 @@
1
+.. include:: ../README.rst
2
+
3
+Table of Contents
4
+=================
5
+
6
+.. toctree::
7
+    :maxdepth: 4
8
+    :hidden:
9
+
10
+    self
11
+
12
+.. toctree::
13
+    :caption: Examples
14
+
15
+    examples
16
+
17
+.. toctree::
18
+    :caption: API Reference
19
+    :maxdepth: 3
20
+
21
+    api
22
+
23
+.. toctree::
24
+    :caption: Tutorials
25
+
26
+.. todo:: Add any Learn guide links here. If there are none, then simply delete this todo and leave
27
+    the toctree above for use later.
28
+
29
+.. toctree::
30
+    :caption: Related Products
31
+
32
+.. todo:: Add any product links here. If there are none, then simply delete this todo and leave
33
+    the toctree above for use later.
34
+
35
+.. toctree::
36
+    :caption: Other Links
37
+
38
+    Download <https://github.com/adafruit/adafruit_CircuitPython_Blinka/releases/latest>
39
+    CircuitPython Reference Documentation <https://circuitpython.readthedocs.io>
40
+    CircuitPython Support Forum <https://forums.adafruit.com/viewforum.php?f=60>
41
+    Discord Chat <https://adafru.it/discord>
42
+    Adafruit Learning System <https://learn.adafruit.com>
43
+    Adafruit Blog <https://blog.adafruit.com>
44
+    Adafruit Store <https://www.adafruit.com>
45
+
46
+Indices and tables
47
+==================
48
+
49
+* :ref:`genindex`
50
+* :ref:`modindex`
51
+* :ref:`search`

+ 0
- 0
examples/blinka_simpletest.py View File


+ 1
- 0
requirements.txt View File

@@ -0,0 +1 @@
1
+