Python developer tool that watches for file changes & runs tasks against your Python code.
pip install code-spyfrom flask import Flask # Or any WSGI application framework
from code_spy.core import CodeSpy
from code_spy.tasks import (
MyPyTask,
DevServerTask,
PylintTask,
PytestTask,
BlackTask,
)
if __name__ == "__main__":
# Create an instance of a WSGI application
flask = Flask(__name__)
# Pass the code spy shipped tasks to the `tasks` kwarg:
cs = CodeSpy(
watch_path=".", # Optional: The path that codespy will run tasks against on file system change.
interval=1, # Optional (Default is 1 second) Restrict how often codespy can rerun tasks.
ignore_dirs=["some_file"], # Optional: Ignore files & directories from this directory path.
log_length=100, # Optional: Restrict the character length of logs.
tasks=[
MyPyTask(path="routes", mypy_file="mypy.ini"),
PylintTask(path="routes", rcfile=".pylintrc"),
PytestTask(path="tests"),
BlackTask(path="routes"),
DevServerTask(wsgi_app=flask),
]
)
# Now call `watch`, that's it!
cs.watch()- Mypy ✅
- SimpleHttpServer ✅
- Pylint ✅
- Pytest ✅
- Black ✅
To restrict the amount of third party libraries that ship with code-spy, the rest of the tasks require library installs:
- ISort TODO
- Flake8 TODO
- Bandit TODO
- Sphinx TODO
- Custom Task TODO
