Skip to main content

Watches for file changes & runs tasks against your Python code.

Project description

Code Spy

Python developer tool that watches for file changes & runs tasks against your Python code.

Terminal Example

Install

 pip install code-spy

Quickstart

from 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()

Tasks

  • Mypy
  • SimpleHttpServer
  • Pylint
  • Pytest
  • Black

Tasks Requiring Library Installs

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

code_spy-0.6.0.tar.gz (7.9 kB view details)

Uploaded Source

File details

Details for the file code_spy-0.6.0.tar.gz.

File metadata

  • Download URL: code_spy-0.6.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for code_spy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5e28e8b1140b59e6b68b28acdd3a84155c3c28fd695829991343ad8389148016
MD5 6f5cfcbec4ba35a82dad59efff96b068
BLAKE2b-256 9de520946876c66101e0dc7fbd6669e56051b8933f5eba3aa0b84286705ddd93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page