Changelog

This package uses semantic versions.

Version 0.3.0

  • Features:
    • A token for authentication in the requests from the client to the server can now be set (closes #16).

    • Option to initialize the server from a file containing the task definitions (closes #14).

    • New token module for handling tokens.

Version 0.2.0

  • Features:
    • CLI command bgpy version to check for the version of the package.

    • Restructure environment variables, remove HOST and PORT from core socket classes.

    • Move log file handling to the interface, create seperate log file for each test and upload as artifacts in github action package check.

    • Split interface.py into a Server context class and a Client context class.

    • Added __repr__ methods to Client, Server and Message classes.

    • Define __slots__ for all classes.

    • Use logging package from the standard library to perform logging tasks. Split logs at level INFO into STDOUT and STDERR on the stream handler for the console.

    • Documented CLI help pages.

    • Detailed usage section in README.

  • Bugfixes:
    • Updated docstrings.

    • Cleaned environment and removed the need for a directory in the users home (~/.bgpy).

    • Render module index and docstrings on readthedocs.

    • Pass mypy type checks.

    • Run sphinx-apidoc in check.sh script to avoid errors in documentation build when changing submodule structure.

Version 0.1.0

  • Initial release of the bgpy on pypi.org package; Running local or remote Python servers in the background and establish stream socket-based communication with clients.

  • Development setup:
    • poetry: Managing dependencies and package build env.

    • pytest: Framework for testing.

    • mypy: Static type checking.

    • flake8: Code linting.

    • sphinx: Documentation of the package using numpydoc docstring style.

  • Submodules:
    • example: Example init_task, exec_task and exit_task for testing.

    • cli: bgpy server <host> <port> to run a server and bgpy terminate <host> <port> to send exit message to a server.

  • Scripts:
    • install.sh: Builds the package and installs it to the global Python version.

    • check.sh: Automates checks and documentation build.