diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fdd2aa4ecc53c55db94fc103265ce8d28e92c420..eb752e0afca1a17aa71ab9b45676eb13c6223b6a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,13 @@ Change Log All notable changes to this project will be documented in this file. This project adheres to `Semantic Versioning <http://semver.org/>`_. +v0.4.0 +****** + +Change packaging to use single namespace. +Usage like `from ska.logging import configure_logging` changes +to `from ska_ser_logging import configure_logging`. + v0.3.0 ****** diff --git a/Makefile b/Makefile index 59dd6f5992046374b100733452e209806fc92c3a..0c4c93e8821ef6f94fabeac6f935550ea4ea5cb0 100644 --- a/Makefile +++ b/Makefile @@ -20,13 +20,10 @@ test: lint: # FIXME pylint needs to run twice since there is no way go gather the text and junit xml output at the same time - # Also note that we are linting just the single configuration.py module, since pylint has import issues - # if we call it with the src/ska/logging path - it can't find the standard library "logging". Probably since - # it is running in an importable folder with the same name. python3 -m pip install pylint_junit pylint2junit; \ cd src; \ - pylint --output-format=parseable ska.logging.configuration | tee ../build/code_analysis.stdout; \ - pylint --output-format=pylint2junit.JunitReporter ska.logging.configuration > ../build/reports/linting.xml; + pylint --output-format=parseable ska_ser_logging | tee ../build/code_analysis.stdout; \ + pylint --output-format=pylint2junit.JunitReporter ska_ser_logging > ../build/reports/linting.xml; .PHONY: all test lint diff --git a/README.md b/README.md index 5fcc704997e928ea55e5892c3740774b1537287e..13d85a49f7536e0d131cecbf84c4539c92e482ae 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ SKA Logging Configuration Library ================================= -[](https://developer.skatelescope.org/projects/ska-logging/en/latest/?badge=latest) +[](https://developer.skatelescope.org/projects/ska-ser-logging/en/latest/?badge=latest) This project allows standard logging configuration across all SKA projects. The format used is described in detail on the [developer portal](https://developer.skatelescope.org/en/latest/development/logging-format.html). @@ -17,7 +17,7 @@ For Python applications, this is as simple as: ```python import logging -from ska.logging import configure_logging +from ska_ser_logging import configure_logging def main(): configure_logging() @@ -29,7 +29,7 @@ be specified. It may be useful to link that to a command line option or environ ```python import logging -from ska.logging import configure_logging +from ska_ser_logging import configure_logging def main(): configure_logging(logging.DEBUG) @@ -45,7 +45,7 @@ No validation is done by this library. If the filter is `None` (the default), t ```python import logging -from ska.logging import configure_logging +from ska_ser_logging import configure_logging class TangoDeviceTagsFilter(logging.Filter): @@ -67,7 +67,7 @@ by the default configuration. ```python import logging.handlers -from ska.logging import configure_logging +from ska_ser_logging import configure_logging ADDITIONAL_LOGGING_CONFIG = { @@ -96,7 +96,7 @@ A more practical use case is adding and removing handlers at runtime. ```python import logging import logging.handlers -from ska.logging import configure_logging, get_default_formatter +from ska_ser_logging import configure_logging, get_default_formatter def main(): @@ -155,7 +155,7 @@ Testing * Put tests into the `tests` folder * Use [PyTest](https://pytest.org) as the testing framework - Reference: [PyTest introduction](http://pythontesting.net/framework/pytest/pytest-introduction/) -* Run tests with `python setup.py test` +* Run tests with `python3 setup.py test` or just `make test` - Configure PyTest in `setup.py` and `setup.cfg` * Running the test creates the `htmlcov` folder - Inside this folder a rundown of the issues found will be accessible using the `index.html` file @@ -165,8 +165,7 @@ Code analysis ------------- * Use [Pylint](https://www.pylint.org) as the code analysis framework * By default it uses the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/) - * Use the provided `code-analysis.sh` script in order to run the code analysis in the `module` and `tests` - * Code analysis should be run by calling `pylint ska.logging`. All pertaining options reside under the `.pylintrc` file. + * Code analysis should be run by calling `make lint`. All pertaining options reside under the `.pylintrc` file. * Code analysis should only raise document related warnings (i.e. `#FIXME` comments) before merging the code Writing documentation diff --git a/docs/src/package/guide.rst b/docs/src/package/guide.rst index 3f55393ef6e3c55c8351b8b31bcbbf69829fb7d3..a568dd65e832d64d1cf5dff9574cd37505eddad4 100644 --- a/docs/src/package/guide.rst +++ b/docs/src/package/guide.rst @@ -22,5 +22,5 @@ Public API Documentation Functions --------- -.. automodule:: ska.logging +.. automodule:: ska_ser_logging :members: diff --git a/setup.py b/setup.py index 6821fbbc7e9c6052d687e16210ca8e249565b337..08276bd26cb30615fb93ec1f9db465db59e5dcb0 100644 --- a/setup.py +++ b/setup.py @@ -2,19 +2,20 @@ # -*- coding: utf-8 -*- import setuptools -from setuptools import setup +from setuptools import setup, find_packages with open("README.md") as readme_file: readme = readme_file.read() setup( - name="ska_logging", + name="ska_ser_logging", description="Square Kilometre Array logging configuration library", long_description=readme + "\n\n", + long_description_content_type="text/markdown", author="Anton Joubert", author_email="ajoubert+ska@ska.ac.za", - url="https://gitlab.com/ska-telescope/ska-logging", - packages=setuptools.find_namespace_packages(where="src", include=["ska.*"]), + url="https://gitlab.com/ska-telescope/ska-ser-logging", + packages=find_packages("src"), package_dir={"": "src"}, include_package_data=True, license="BSD license", diff --git a/src/ska/logging/__init__.py b/src/ska_ser_logging/__init__.py similarity index 100% rename from src/ska/logging/__init__.py rename to src/ska_ser_logging/__init__.py diff --git a/src/ska/logging/configuration.py b/src/ska_ser_logging/configuration.py similarity index 100% rename from src/ska/logging/configuration.py rename to src/ska_ser_logging/configuration.py diff --git a/tests/test_configuration.py b/tests/test_configuration.py index d10ff72f9858cc5eb6e3ba9eab5e5e891060568d..8c4e3826516c1b2b45760a0cc72d7592cd08f135 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -7,9 +7,9 @@ import logging.handlers import time import pytest -import ska.logging.configuration as configuration +import ska_ser_logging.configuration as configuration -from ska.logging import configure_logging, get_default_formatter +from ska_ser_logging import configure_logging, get_default_formatter @pytest.fixture @@ -104,7 +104,7 @@ def recording_tags_logger(): @pytest.mark.usefixtures("reset_logging") class TestConfigureLogging: - """Tests for :func:`~ska.logging.configuration.configure_logging`.""" + """Tests for :func:`~ska_ser_logging.configuration.configure_logging`.""" def test_includes_console_handler(self, default_logger): assert get_named_handler(default_logger, "console") @@ -170,7 +170,7 @@ class TestConfigureLogging: @pytest.mark.usefixtures("reset_logging") class TestGetDefaultFormatter: - """Tests for :func:`~ska.logging.configuration.get_default_formatter`.""" + """Tests for :func:`~ska_ser_logging.configuration.get_default_formatter`.""" def get_recorded_message(self, logger): logger.info("test message") @@ -199,7 +199,7 @@ class TestGetDefaultFormatter: class TestOverride: - """Tests for :func:`~ska.logging.configuration._override`. + """Tests for :func:`~ska_ser_logging.configuration._override`. Code based on: https://github.com/ska-sa/katsdpcontroller/blob/