sosw is a set of tools for orchestrating asynchronous invocations of AWS Lambda Workers.
Detailed documentation can be found on Read The Docs: sosw.readthedocs.io
- Python 3.6
- boto3 (AWS SDK for Python)
Assuming you have Python 3.6 and pipenv
installed. Create a new virtual environment:
$ pipenv shell
Now install the required dependencies for development:
$ pipenv sync --dev
Running unit tests:
$ pytest ./sosw/test/suite_3_6_unit.py
- We follow both Semantic Versioning pattern and PEP440 recommendations where comply
- Master branch commits (merges) are automatically packaged and published to PyPI.
- Branches for planned staging versions follow the pattern:
X_Y_Z
(Major.Minor.Micro) - Make your pull requests to the latest staging branch (with highest number)
- Latest documentation is compiled from branch
docme
. It should be up to date with latest staging branch, not the master. Make PRs with documentation change directly todocme
.
Follow PEP8, but:
- both classes and functions are padded with 2 empty lines
- dictionaries are value-alligned
- Fork the repository: https://github.com/bimpression/sosw
- Register Account in AWS: SignUp
- Run
pipenv sync –dev
to setup your virtual environment and download the required dependencies - Create DynamoDB Tables:
- You can find the CloudFormation template for the databases in the example.
- If you are not familiar with CloudFormation, we highly recommend at least learning the basics from the tutorial.
- Create Sandbox Lambda with Scheduler
- Play with it.
- Read the Documentation Convention.
Sphinx is used for building documentation. To build HTML documentation locally, use:
$ sphinx-build -ab html ./docs ./sosw-rtd
You can then use the built in Python web server to view the html version directly from localhost
in your preferred browser.
$ cd sosw-rtd
$ python -m http.server