Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
NickolasHKraus authored and NickolasHKraus committed Sep 10, 2019
0 parents commit 59af7f4
Show file tree
Hide file tree
Showing 32 changed files with 3,213 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE.md
@@ -0,0 +1,16 @@
* Certificate Validator version:
* Python version:
* Operating System:

## Description

Describe what you were trying to get done.

Tell us what happened, what went wrong, and what you expected to happen.

## What I Did

```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```
146 changes: 146 additions & 0 deletions .gitignore
@@ -0,0 +1,146 @@
# Deployment Artifacts
package/
certificate-validator.zip

# Test Artifacts
.coverage
cover/
htmlcov/

# OS X
.DS_Store

# Unix
*.swp

###############################################################################
# Serverless #
###############################################################################

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

# Serverless directories
.serverless

###############################################################################
# Python #
###############################################################################

# 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/
wheels/
*.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/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
8 changes: 8 additions & 0 deletions .travis.yml
@@ -0,0 +1,8 @@
language: python
sudo: required
dist: bionic
python: 3.7
install:
- pip install -r certificate_validator/requirements_dev.txt
script: make test
after_success: codecov
95 changes: 95 additions & 0 deletions CONTRIBUTING.md
@@ -0,0 +1,95 @@
# Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

You can contribute in many ways:

## Types of Contributions

### Report Bugs

Report bugs at <https://github.com/Dwolla/certificate-validator/issues>.

If you are reporting a bug, please include:

* Your operating system name and version.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

### Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with `bug` and `help wanted` is open to whomever wants to implement it.

### Implement Features

Look through the GitHub issues for features. Anything tagged with `enhancement` and `help wanted` is open to whomever wants to implement it.

### Write Documentation

Certificate Validator could always use more documentation, whether as part of the official Certificate Validator docs, in docstrings, or even on the web in blog posts, articles, and such.

### Submit Feedback

The best way to send feedback is to file an issue at <https://github.com/Dwolla/certificate-validator/issues>.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions are welcome :)

## Get Started!

Ready to contribute? Here's how to set up `certificate-validator` for local development.

1. Fork the [`certificate-validator`](https://github.com/Dwolla/certificate-validator) repository on GitHub.

2. Clone your fork locally:

```bash
git clone git@github.com:<username>/certificate-validator.git
```

3. Create a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your environment for local development:

```bash
mkvirtualenv certificate-validator
```

4. Install development requirements:

```bash
pip install -r requirements_dev.txt
`````

5. Create a branch for local development:

```bash
git checkout -b <branch>
```

Now you can make your changes locally.

6. When you're done making changes, check that your changes are formatted correctly and pass tests and checks:

```bash
make format && make test
```

7. Commit your changes and push your branch to GitHub:

```bash
git add .
git commit -m "Your detailed description of your changes."
git push origin <branch>
```

8. Submit a [pull request](https://github.com/Dwolla/certificate-validator/pulls) through the GitHub website.

## Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

1. The pull request should include tests.
2. If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the `README.md` or `docs/`.
3. The pull request should work for Python 3.7.
6 changes: 6 additions & 0 deletions HISTORY.md
@@ -0,0 +1,6 @@
# History

## 0.1.0 (2019-09-09)
---

* First release.
21 changes: 21 additions & 0 deletions LICENSE
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2019 Dwolla

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
40 changes: 40 additions & 0 deletions Makefile
@@ -0,0 +1,40 @@
.PHONY: help clean deploy package test
.DEFAULT_GOAL := help

PACKAGE_DIR := package
STAGE := dev

define PRINT_HELP_PYSCRIPT
import re, sys

for line in sys.stdin:
match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
if match:
target, help = match.groups()
print("%-20s %s" % (target, help))
endef
export PRINT_HELP_PYSCRIPT

help: ## display help information
@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)

clean: ## remove deployment and Python artifacts
rm -f certificate-validator.zip
rm -rf ${PACKAGE_DIR}
@$(MAKE) -C certificate_validator clean

deploy: package ## deploy AWS Lambda function via Serverless
serverless deploy -v --stage ${STAGE}

package: clean ## create AWS Lambda function deployment package
mkdir -p ${PACKAGE_DIR}
pip3 install -r certificate_validator/requirements.txt -t ${PACKAGE_DIR}
cp -R certificate_validator/certificate_validator ${PACKAGE_DIR}
cd ${PACKAGE_DIR}; \
zip -9 --exclude '*dist-info*' '*__pycache__*' -r ../certificate-validator.zip *;

test: ## run certificate_validator tests
@$(MAKE) -C certificate_validator test

format: ## format certificate_validator code and imports
@$(MAKE) -C certificate_validator format

0 comments on commit 59af7f4

Please sign in to comment.