diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 2577265..11f54d7 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -14,8 +14,8 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.8, 3.11.1] - rf-version: [5.0.1, 7.0.0] + python-version: [3.8, 3.12] + rf-version: [5.0.1, 7.0.1] steps: - uses: actions/checkout@v4 @@ -26,10 +26,11 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements-dev.txt + pip install uv + uv pip install -r requirements-dev.txt --python ${{ matrix.python-version }} --system - name: Install RF ${{ matrix.rf-version }} run: | - pip install -U --pre robotframework==${{ matrix.rf-version }} + uv pip install -U robotframework==${{ matrix.rf-version }} --python ${{ matrix.python-version }} --system - name: Run ruff run: | ruff check ./src tasks.py diff --git a/README.md b/README.md index a88b802..af276a7 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,13 @@ public API. The example in below demonstrates how the PythonLibCore can be used with a library. +## Installation +To install this library, run the following command in your terminal: +``` bash +pip install robotframework-pythonlibcore +``` +This command installs the latest version of `robotframework-pythonlibcore`, ensuring you have all the current features and updates. + # Example ``` python diff --git a/atest/tests.robot b/atest/tests.robot index 3c66808..a12b35f 100644 --- a/atest/tests.robot +++ b/atest/tests.robot @@ -14,7 +14,7 @@ Keyword Names Method Custom Name Cust Omna Me - IF $LIBRARY == "ExtendExistingLibrary" Keyword In Extending Library + IF "$LIBRARY" == "ExtendExistingLibrary" Keyword In Extending Library Method Without @keyword Are Not Keyowrds [Documentation] FAIL GLOB: No keyword with name 'Not Keyword' found.* diff --git a/requirements-dev.txt b/requirements-dev.txt index 7d36f77..fe02ea1 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,9 +1,10 @@ +uv pytest pytest-cov pytest-mockito robotstatuschecker black >= 23.7.0 -ruff >= 0.0.286 +ruff >= 0.5.5 robotframework-tidy invoke >= 2.2.0 twine diff --git a/src/robotlibcore/core/hybrid.py b/src/robotlibcore/core/hybrid.py index f70f659..2caa8b2 100644 --- a/src/robotlibcore/core/hybrid.py +++ b/src/robotlibcore/core/hybrid.py @@ -88,7 +88,7 @@ def __get_members(self, component): raise TypeError( msg, ) - if type(component) != component.__class__: + if type(component) != component.__class__: # noqa: E721 msg = ( "Libraries must be modules or new-style class instances, " f"got old-style class {component.__class__.__name__} instead." diff --git a/tasks.py b/tasks.py index 0db4d90..90ebdf3 100644 --- a/tasks.py +++ b/tasks.py @@ -166,5 +166,5 @@ def utest(ctx): @task(utest, atest) -def test(ctx): # noqa: ARG001 +def test(ctx): pass diff --git a/utest/test_keyword_builder.py b/utest/test_keyword_builder.py index 4222aea..9943c1c 100644 --- a/utest/test_keyword_builder.py +++ b/utest/test_keyword_builder.py @@ -3,6 +3,7 @@ import pytest from DynamicTypesAnnotationsLibrary import DynamicTypesAnnotationsLibrary from moc_library import MockLibrary + from robotlibcore import KeywordBuilder diff --git a/utest/test_plugin_api.py b/utest/test_plugin_api.py index 67226d6..9209d8b 100644 --- a/utest/test_plugin_api.py +++ b/utest/test_plugin_api.py @@ -1,5 +1,6 @@ import pytest from helpers import my_plugin_test + from robotlibcore import Module, PluginError, PluginParser diff --git a/utest/test_robotlibcore.py b/utest/test_robotlibcore.py index 52689ad..b2497aa 100644 --- a/utest/test_robotlibcore.py +++ b/utest/test_robotlibcore.py @@ -5,6 +5,7 @@ from DynamicLibrary import DynamicLibrary from DynamicTypesAnnotationsLibrary import DynamicTypesAnnotationsLibrary from HybridLibrary import HybridLibrary + from robotlibcore import HybridCore, NoKeywordFound