Skip to content

Commit

Permalink
Initial commit of Alexa Skills Kit SDK for Python
Browse files Browse the repository at this point in the history
This commit adds the Alexa Skills Kit SDK for Python on the
SDK Repo on Github.
  • Loading branch information
nikhilym committed Jun 27, 2018
1 parent 7fdc864 commit 7d8e3ae
Show file tree
Hide file tree
Showing 108 changed files with 11,586 additions and 3 deletions.
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!--
PLEASE HELP US PROCESS GITHUB ISSUES FASTER BY PROVIDING THE FOLLOWING INFORMATION.
ISSUES MISSING IMPORTANT INFORMATION MAY BE CLOSED WITHOUT INVESTIGATION.
-->

## I'm submitting a...
<!-- Check one of the following options with "x" -->
<pre><code>
[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report <!-- Please search GitHub for a similar issue or PR before submitting -->
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:
</code></pre>

<!--- Provide a general summary of the issue in the Title above -->

## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->

## Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- Include full errors, uncaught exceptions, stack traces, and relevant logs -->
<!--- If service responses are relevant, please include any -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->

## Possible Solution
```
// Not required, but suggest a fix/reason for the bug,
// or ideas how to implement the addition or change
```

## Steps to Reproduce (for bugs)
```
// Provide a self-contained, concise snippet of code
// For more complex issues provide a repo with the smallest sample that reproduces the bug
// Including business logic or unrelated code makes diagnosis more difficult
```

## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->

## Your Environment
<!--- Include as many relevant details about the environment where the bug was discovered -->
* ASK SDK for Python used: x.x.x
* Operating System and version:

## Python version info
* Python version used for development:
41 changes: 38 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
*Issue #, if available:*
<!--- Provide a general summary of your changes in the Title above -->

*Description of changes:*
## Description
<!--- Describe your changes in detail -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open [issue][issues], please link to the issue here -->

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment like python version, dependencies, -->
<!--- and the tests you ran to see how your change affects other areas of the code, etc. -->

## Screenshots (if appropriate)

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Checklist
<!--- Go over all the following points, and put an `x` in all the boxes that apply -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project
- [ ] My change requires a change to the documentation
- [ ] I have updated the documentation accordingly
- [ ] I have read the **README** document
- [ ] I have added tests to cover my changes
- [ ] All new and existing tests passed

## License
<!--- The SDK is released under the [Apache 2.0 license][license], so any code you submit will be released under that license -->
<!--- For substantial contributions, we may ask you to sign a [Contributor License Agreement (CLA)][cla] -->
<!--- Put an `x` in the below box if you confirm that this request can be released under the Apache 2 license -->
- [ ] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

[issues]: https://github.com/alexa-labs/alexa-skills-kit-sdk-for-python/issues
[license]: http://aws.amazon.com/apache2.0/
[cla]: http://en.wikipedia.org/wiki/Contributor_License_Agreement
67 changes: 67 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
venv/
.python-version

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/

#Ipython Notebook
.ipynb_checkpoints

# IntelliJ configs
*.iml
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
=========
CHANGELOG
=========

0.1
-------

* Initial release of alexa skills kit core sdk.
116 changes: 116 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
===================
ASK SDK for Python
===================

The ASK SDK for Python makes it easier for you to build highly engaging skills,
by allowing you to spend more time on implementing features and less on writing
boiler-plate code.

To help you get started with the SDK we have included the following guides.
In the future, we plan to include more documentation and samples too.

Guides
------

`Setting Up The ASK SDK <docs/GETTING_STARTED.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This guide will show you how to include the SDK as a dependency in your
Python project.


`Developing Your First Skill <docs/DEVELOPING_YOUR_FIRST_SKILL.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Walks you through step-by-step instructions for building the Hello World
sample.


SDK Features
------------

`Request Processing <docs/REQUEST_PROCESSING.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Covers how to build request handlers, exception handlers, and request and
response interceptors.

`Skill Attributes <docs/ATTRIBUTES.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Covers how to use skill attributes to store and retrieve skill data.

`Response Building <docs/RESPONSE_BUILDING.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Covers how to use the ResponseBuilder to compose multiple elements like
text, cards, and audio into a single response.

`Alexa Service Clients <docs/SERVICE_CLIENTS.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Covers how to use service clients in your skill to access Alexa APIs.

`Skill Builders <docs/SKILL_BUILDERS.rst>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Covers how to configure and construct a skill instance.

Samples
-------

`Hello World Skill Sample <samples/HelloWorld>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This code sample will allow you to hear a response from Alexa when you
trigger it. It is a minimal sample to get you familiarized with the
Alexa Skills Kit and AWS Lambda.

`Color Picker Skill Sample <samples/ColorPicker>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is a step-up in functionality from Hello World. It allows you to
capture input from your user and demonstrates the use of Slots. It also
demonstrates use of session attributes and request, response interceptors.

`High Low Game Skill Sample <samples/HighLowGame>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Template for a basic high-low game skill. When the user guesses a number,
Alexa tells the user whether the number she has in mind is higher or lower.

`Device Address API Skill Sample <samples/GetDeviceAddress>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sample skill that shows how to request and access the configured address in
the user’s device settings.


Got Feedback?
-------------

- We would like to hear about your bugs, feature requests, questions or quick feedback.
Please search for
`existing issues <https://github.com/alexa-labs/alexa-skills-kit-sdk-for-python/issues>`_
before opening a new one. It would also be helpful if you follow the
templates for issue and pull request creation.
Please follow the `contributing guidelines <CONTRIBUTING.rst>`_ for
pull requests!!
- Request and vote for
`Alexa features <https://alexa.uservoice.com/forums/906892-alexa-skills-developer-voice-and-vote>`_!


Additional Resources
--------------------

Community
~~~~~~~~~

- `Amazon Developer Forums <https://forums.developer.amazon.com/spaces/165/index.html>`_ : Join the conversation!
- `Hackster.io <https://www.hackster.io/amazon-alexa>`_ - See what others are building with Alexa.

Tutorials & Guides
~~~~~~~~~~~~~~~~~~

- `Voice Design Guide <https://developer.amazon.com/designing-for-voice/>`_ -
A great resource for learning conversational and voice user interface design.
9 changes: 9 additions & 0 deletions ask-sdk-core/.coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[run]
branch = True

[report]
include =
ask_sdk_core/*
exclude_lines =
if typing.TYPE_CHECKING:
pass
67 changes: 67 additions & 0 deletions ask-sdk-core/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
venv/
.python-version

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/

#Ipython Notebook
.ipynb_checkpoints

# IntelliJ configs
*.iml
8 changes: 8 additions & 0 deletions ask-sdk-core/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
=========
CHANGELOG
=========

0.1
-------

* Initial release of alexa skills kit core sdk.
5 changes: 5 additions & 0 deletions ask-sdk-core/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include README.rst
include CHANGELOG.rst
include LICENSE
include requirements.txt
recursive-exclude tests *
Loading

0 comments on commit 7d8e3ae

Please sign in to comment.