diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 5a2ab35f..e3063a79 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -26,7 +26,9 @@ jobs: - name: install run: sudo make install - name: install pytrap - run: (cd pytrap && make coverage; sudo python3 setup.py install;) + run: (cd pytrap && make coverage; sudo pip install .;) + - name: pycommon tests + run: (cd pycommon && pip install .[test] && pytest;) - name: make check run: make check - name: make distcheck diff --git a/pycommon/pyproject.toml b/pycommon/pyproject.toml index 3c2b9663..04c4d4fd 100644 --- a/pycommon/pyproject.toml +++ b/pycommon/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=61.0"] +requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] @@ -9,36 +9,36 @@ description = "Common Python modules and methods of the NEMEA system." readme = {text = "The module contains methods for creation and submission of incident reports in IDEA format.", content-type = "text/plain"} license = {text = "BSD"} authors = [ - {name = "Vaclav Bartos, CESNET", email = "bartos@cesnet.cz"}, + {name = "Vaclav Bartos, CESNET", email = "bartos@cesnet.cz"}, ] maintainers = [ - {name = "Tomas Cejka", email = "cejkat@cesnet.cz"}, + {name = "Tomas Cejka", email = "cejkat@cesnet.cz"}, ] requires-python = ">=3.6" dependencies = [ - "pynspect", - "idea-format", - "PyYAML", - "ply", - "jinja2", - "redis", + "pynspect", + "idea-format", + "PyYAML", + "ply", + "jinja2", + "redis", ] classifiers = [ - "Development Status :: 4 - Beta", - "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", - "Operating System :: POSIX", - "Programming Language :: C", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Topic :: Software Development :: Libraries", - "Topic :: System :: Networking :: Monitoring", + "Development Status :: 4 - Beta", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: POSIX", + "Programming Language :: C", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Topic :: Software Development :: Libraries", + "Topic :: System :: Networking :: Monitoring", ] [project.optional-dependencies] test = [ - "pytest", - "pytest-cov", + "pytest", + "pytest-cov", ] @@ -50,6 +50,9 @@ Homepage = "https://github.com/CESNET/Nemea-Framework" py-modules = ["report2idea", "ip_prefix_search"] packages = ["reporter_config", "reporter_config.actions"] +[tool.setuptools.extension] +include-dirs = ["/usr/include", "/usr/local/include"] +library-dirs = ["/usr/lib", "/usr/local/lib"] [tool.pytest.ini_options] testpaths = ["test"] diff --git a/pytrap/Makefile.am b/pytrap/Makefile.am index 297e9af3..bc98ec9e 100644 --- a/pytrap/Makefile.am +++ b/pytrap/Makefile.am @@ -27,7 +27,7 @@ TESTS = test.sh .PHONY: coverage coverage: - CFLAGS=-coverage python3 -m pip install .[test] --no-deps --disable-pip-version-check --no-cache-dir + CFLAGS=-coverage python3 -m pip install .[test] --disable-pip-version-check --no-cache-dir CFLAGS=-coverage python3 -m pytest --cov=pycommon || echo "Skipped python3 tests" @lcov --capture --directory . --output-file coverage.info 2>/dev/null && \ genhtml coverage.info --output-directory out 2>/dev/null || echo "Skipped coverage analysis" diff --git a/pytrap/pyproject.toml b/pytrap/pyproject.toml index bb58afe5..8d6b5d98 100644 --- a/pytrap/pyproject.toml +++ b/pytrap/pyproject.toml @@ -17,6 +17,7 @@ license = { text = "BSD" } requires-python = ">=3.8" classifiers = [ "Development Status :: 4 - Beta", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: C", "Programming Language :: Python :: 3", @@ -33,20 +34,19 @@ dependencies = [] [project.optional-dependencies] test = [ - "pytest", - "pytest-cov", - "pytest-forked", + "pytest", + "pytest-cov", + "pytest-forked", ] docs = [ - "sphinx", - "sphinx-rtd-theme", - "sphinx-pyproject" + "sphinx", + "sphinx-rtd-theme", + "sphinx-pyproject", ] [project.urls] Homepage = "https://github.com/CESNET/Nemea-Framework" -# Configure setuptools to find packages and handle C extensions [tool.setuptools] package-dir = { "" = "src" } @@ -64,6 +64,8 @@ sources = [ "src/fields.c" ] libraries = ["trap", "unirec"] +include-dirs = ["/usr/include", "/usr/local/include"] +library-dirs = ["/usr/lib", "/usr/local/lib"] [tool.pytest.ini_options]