diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..51c29a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,111 @@ + +# Created by https://www.gitignore.io/api/python +# Edit at https://www.gitignore.io/?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# 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/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# End of https://www.gitignore.io/api/python +env/ diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000..b8d032d --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,11 @@ +-r requirements.txt + +black==19.10b0 +flake8==3.7.9 +isort==4.3.21 +mypy==0.750 +flake8-bugbear==19.8.0 +flake8-builtins==1.4.1 +flake8-comprehensions==3.1.4 +flake8-mutable==1.2.0 +flake8-tuple==0.4.1 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/scripts/run.sh b/scripts/run.sh new file mode 100755 index 0000000..2aab8c2 --- /dev/null +++ b/scripts/run.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -e + +PATH=env/bin:${PATH} + +python3 todoist-github/cli.py diff --git a/scripts/test.sh b/scripts/test.sh new file mode 100755 index 0000000..272f484 --- /dev/null +++ b/scripts/test.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -e + +PATH=env/bin:${PATH} + +set -x + +black --check todoist-github/ +flake8 todoist-github/ +isort -c -rc todoist-github/ +mypy todoist-github/ diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..e9892c6 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,16 @@ +[mypy] +warn_unused_ignores = True +strict_optional = True +check_untyped_defs = True +ignore_missing_imports = True + +[flake8] +extend_ignore=E128,E501 + +[isort] +multi_line_output=3 +include_trailing_comma=True +force_grid_wrap=0 +use_parentheses=True +line_length=88 +not_skip=__init__.py diff --git a/todoist-github/cli.py b/todoist-github/cli.py new file mode 100755 index 0000000..e5a0d9b --- /dev/null +++ b/todoist-github/cli.py @@ -0,0 +1 @@ +#!/usr/bin/env python3